[JBoss JIRA] (ISPN-7123) Kill JDBC binary and mixed stores
by Ryan Emerson (JIRA)
Ryan Emerson created ISPN-7123:
----------------------------------
Summary: Kill JDBC binary and mixed stores
Key: ISPN-7123
URL: https://issues.jboss.org/browse/ISPN-7123
Project: Infinispan
Issue Type: Task
Components: Loaders and Stores
Affects Versions: 9.0.0.Alpha4
Reporter: Ryan Emerson
Assignee: Ryan Emerson
The JDBC binary stores are terribly inefficient as they require that an entire bucket be deserailised/serialised for store reads/writes, therefore we should remove them in 9.0.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (ISPN-7122) JpaStore Performance is Poor
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7122?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-7122:
-------------------------------------
Assignee: Ryan Emerson
> JpaStore Performance is Poor
> ----------------------------
>
> Key: ISPN-7122
> URL: https://issues.jboss.org/browse/ISPN-7122
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 8.2.4.Final
> Reporter: Dan Siviter
> Assignee: Ryan Emerson
>
> When using the {{JpaStore}} it load's IDs, then iterates around the result and manually getting the record. This means for large datasets the performance is really poor. There is a comment in the code regarding this, but in it's current state it effectively makes it unusable.
> As an example with a dataset of 12,600 records using a a generic but customised JPA:
> * Bulk load: 977ms,
> * {{JpaStore}}: 137,906ms
>
> Increase: 14,015%
> Obviously paralleling the call or another DB might be quicker, but not much!
> Would it possible to have some level of chunking/batching of the load? IMO this would be a suitable compromise.
> I'm afraid I can't share the code for my loader, but it is loading a simple entity with no referenced objects, no so no joins.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (ISPN-7122) JpaStore Performance is Poor
by Dan Siviter (JIRA)
[ https://issues.jboss.org/browse/ISPN-7122?page=com.atlassian.jira.plugin.... ]
Dan Siviter updated ISPN-7122:
------------------------------
Description:
When using the {{JpaStore}} it load's IDs, then iterates around the result and manually getting the record. This means for large datasets the performance is really poor. There is a comment in the code regarding this, but in it's current state it effectively makes it unusable.
As an example with a dataset of 12,600 records using a a generic but customised JPA:
* Bulk load: 977ms,
* {{JpaStore}}: 137,906ms
Increase: 14,015%
Obviously paralleling the call or another DB might be quicker, but not much!
Would it possible to have some level of chunking/batching of the load? IMO this would be a suitable compromise.
I'm afraid I can't share the code for my loader, but it is loading a simple entity with no referenced objects, no so no joins.
was:When using the {{JpaStore}} it load's IDs, then iterates around the result and manually getting the record. This means for large datasets the performance is really poor. There is a comment in the code regarding this, but in it's current state it effectively makes it unusable.
> JpaStore Performance is Poor
> ----------------------------
>
> Key: ISPN-7122
> URL: https://issues.jboss.org/browse/ISPN-7122
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 8.2.4.Final
> Reporter: Dan Siviter
>
> When using the {{JpaStore}} it load's IDs, then iterates around the result and manually getting the record. This means for large datasets the performance is really poor. There is a comment in the code regarding this, but in it's current state it effectively makes it unusable.
> As an example with a dataset of 12,600 records using a a generic but customised JPA:
> * Bulk load: 977ms,
> * {{JpaStore}}: 137,906ms
>
> Increase: 14,015%
> Obviously paralleling the call or another DB might be quicker, but not much!
> Would it possible to have some level of chunking/batching of the load? IMO this would be a suitable compromise.
> I'm afraid I can't share the code for my loader, but it is loading a simple entity with no referenced objects, no so no joins.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (ISPN-7122) JpaStore Performance is Poor
by Dan Siviter (JIRA)
Dan Siviter created ISPN-7122:
---------------------------------
Summary: JpaStore Performance is Poor
Key: ISPN-7122
URL: https://issues.jboss.org/browse/ISPN-7122
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 8.2.4.Final
Reporter: Dan Siviter
When using the {{JpaStore}} it load's IDs, then iterates around the result and manually getting the record. This means for large datasets the performance is really poor. There is a comment in the code regarding this, but in it's current state it effectively makes it unusable.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months
[JBoss JIRA] (ISPN-7121) CacheEntryExpired event doesn't work with no auto commit in a clustered cache
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-7121?page=com.atlassian.jira.plugin.... ]
William Burns commented on ISPN-7121:
-------------------------------------
Exception encountered that prevents removeExpired from working properly.
{code}
11:42:35,984 WARN (testng-ReplNoAutoCommitExpiryTest) [ClusterExpirationManager] ISPN000026: Caught exception purging data container!
java.lang.IllegalArgumentException: Cannot create a transactional context without a valid Transaction instance.
at org.infinispan.context.TransactionalInvocationContextFactory.createInvocationContext(TransactionalInvocationContextFactory.java:68)
at org.infinispan.cache.impl.CacheImpl.getInvocationContext(CacheImpl.java:763)
at org.infinispan.cache.impl.CacheImpl.getInvocationContextWithImplicitTransaction(CacheImpl.java:755)
at org.infinispan.cache.impl.CacheImpl.removeExpired(CacheImpl.java:544)
at org.infinispan.expiration.impl.ClusterExpirationManager.removeExpired(ClusterExpirationManager.java:111)
at org.infinispan.expiration.impl.ClusterExpirationManager.lambda$handleLifespanExpireEntry$0(ClusterExpirationManager.java:97)
at org.infinispan.expiration.impl.ClusterExpirationManager.handleLifespanExpireEntry(ClusterExpirationManager.java:103)
at org.infinispan.expiration.impl.ClusterExpirationManager.processExpiration(ClusterExpirationManager.java:67)
{code}
> CacheEntryExpired event doesn't work with no auto commit in a clustered cache
> -----------------------------------------------------------------------------
>
> Key: ISPN-7121
> URL: https://issues.jboss.org/browse/ISPN-7121
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 9.0.0.Alpha4
> Reporter: William Burns
> Assignee: William Burns
>
> Expired events are not generated for clustered caches which has transactions without auto commit. Local caches work fine though.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 2 months