[JBoss JIRA] (ISPN-3086) Infinite loop when creating more than two Distributed Cache nodes
by Balazs Zsoldos (JIRA)
[ https://issues.jboss.org/browse/ISPN-3086?page=com.atlassian.jira.plugin.... ]
Balazs Zsoldos edited comment on ISPN-3086 at 8/21/13 11:17 AM:
----------------------------------------------------------------
Attached a very simple application that shows how to reproduce the problem. I tested it again with the newest versions:
With version 5.3.0.Final during creating the third cache UDP bandwidth is at max. forever.
With version 6.0.0.Alpha2 there is no UDP bandwidth at all but it is still waiting on the getCacheManager function call.
If you change the cache type in the xml to repl everything works well.
To change the version simply change the version of the dependency in the pom file.
If you need I can copy and paste the stacktrace here but I think it is easier to test with the sample I provided.
was (Author: zs_b):
Attached a very simple application that shows how to reproduce the problem. I tested it again with the newest versions:
With version 5.3.0.Final during creating the third cache UDP bandwidth is at max. forever.
With version 6.0.0.Alpha2 there is no UDP bandwidth at all but it is still waiting on the getCacheManager function call.
If you change the cache type in the xml to repl everything works well.
To change the version simply change the version of the dependency in the pom file.
If you need I can copy and paste the stacktrace here but I think it is easier
> Infinite loop when creating more than two Distributed Cache nodes
> -----------------------------------------------------------------
>
> Key: ISPN-3086
> URL: https://issues.jboss.org/browse/ISPN-3086
> Project: Infinispan
> Issue Type: Bug
> Components: JCache
> Affects Versions: 5.3.0.Beta1
> Reporter: Balazs Zsoldos
> Assignee: Galder Zamarreño
> Priority: Critical
> Labels: cache, distribution
> Fix For: 6.0.0.Final
>
> Attachments: infinispan-three-nodes.zip
>
>
> I created a very simple application based on https://docs.jboss.org/author/display/ISPN/Using+Infinispan+as+a+JCache+p...
> I changed the code to created distributed caches instead of replicated ones. It works until two nodes but if there are three nodes it starts an infinite loop.
> *The modified XML contains:*
> <namedCache name="namedCache">
> <clustering mode="dist" />
> </namedCache>
> *The modified java code contains:*
> CacheManager cacheManager1 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");
> CacheManager cacheManager2 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");
> CacheManager cacheManager3 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");
> *Symptom:*
> The code waits on the third command while there is an infinite loop on a background thread. I guess the benefit of distribution would come with more than two nodes but I cannot test it due to the problem above.
> Although I used infinispan via JCache I think this issue is not related to the JCache API but it comes from the infinispan core.
> *BTW:* Distributed caches seem to me about 30% slower than replicated caches concerning to put and delete functions with two nodes. I guess the benefit would come out between the two topologies with more nodes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] (ISPN-604) Re-design CacheStore transactions
by SBS JIRA Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-604?page=com.atlassian.jira.plugin.s... ]
SBS JIRA Integration updated ISPN-604:
--------------------------------------
Forum Reference: https://community.jboss.org/message/833401#833401
> Re-design CacheStore transactions
> ----------------------------------
>
> Key: ISPN-604
> URL: https://issues.jboss.org/browse/ISPN-604
> Project: Infinispan
> Issue Type: Sub-task
> Components: Loaders and Stores, Transactions
> Affects Versions: 4.0.0.Final, 4.1.0.CR2
> Reporter: Mircea Markus
> Assignee: Mircea Markus
> Labels: as7-ignored, modshape
> Fix For: 6.0.0.Beta1, 6.0.0.Final
>
>
> Current(4.1.x) transaction implementation in CacheStores is brocken in several ways:
> 1st problem.
> {code}AbstractCacheStore.prepare:
> public void prepare(List<? extends Modification> mods, GlobalTransaction tx, boolean isOnePhase) throws CacheLoaderException {
> if (isOnePhase) {
> applyModifications(mods);
> } else {
> transactions.put(tx, mods);
> }
> }
> {code}
> If this is 1PC we apply the modifications in the prepare phase - we should do it in the commit phase (as JTA does it).
> 2nd problem.
> This currently exhibits during commit/rollback with JdbcXyzCacheStore, but it is rather a more general cache store issue.
> When using a TransactionManager, during TM.commit AbstractCacheStore.commit is being called internally which tries to apply all the modifications that happened during that transaction.
> Within the scope of AbstractCacheStore.commit, JdbcStore obtains a connection from a DataSource and tries to write the modifications on that connection.
> Now if the DataSource is managed (e.g. by an A.S.) on the DS.getConnection call the A.S. would try to enlist the connection with the ongoing transaction by calling Transaction.enlistResource(XAResource xaRes) [1]
> This method fails with an IllegalStateException, because the transaction's status is preparing (see javax.transaction.Transaction.enlistResource).
> Suggested fix:
> - the modifications should be registered to the transaction as they happen(vs. during prepare/commit as it happens now)
> - this requires API changes in CacheStore, e.g.
> void store(InternalCacheEntry entry)
> should become
> void store(InternalCacheEntry entry, GlobalTransaction gtx)
> (gtx would be null if this is not a transactional call).
> [1] This behavior is specified by the JDBC 2.0 Standard Extension API, chapter 7 - distributed transaction
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] (ISPN-3407) Entry passivation doesn't work according to eviction strategy
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3407?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3407:
-----------------------------------------------
Tristan Tarrant <ttarrant(a)redhat.com> changed the Status of [bug 996876|https://bugzilla.redhat.com/show_bug.cgi?id=996876] from NEW to ASSIGNED
> Entry passivation doesn't work according to eviction strategy
> -------------------------------------------------------------
>
> Key: ISPN-3407
> URL: https://issues.jboss.org/browse/ISPN-3407
> Project: Infinispan
> Issue Type: Bug
> Components: Eviction
> Affects Versions: 6.0.0.Alpha2
> Reporter: Vitalii Chepeliuk
> Assignee: Mircea Markus
>
> {code:title=Test.java|borderStyle=solid}
> GlobalConfiguration globalConf = new GlobalConfigurationBuilder().nonClusteredDefault().build();
> ConfigurationBuilder builder = new ConfigurationBuilder();
> builder.clustering().cacheMode(CacheMode.LOCAL)
> .loaders().passivation(true).preload(false).shared(false)
> .addLoader(JdbcStringBasedCacheStoreConfigurationBuilder.class).fetchPersistentState(false).purgeOnStartup(false)
> .table()
> .databaseType(DatabaseType.MYSQL)
> .dropOnExit(false)
> .createOnStart(true)
> .tableNamePrefix("ISPN6Alpha2_STRING")
> .idColumnName("ID").idColumnType("VARCHAR(255)")
> .dataColumnName("DATA").dataColumnType("VARBINARY(1000)")
> .timestampColumnName("TIMESTAMP").timestampColumnType("BIGINT")
> .connectionPool()
> .connectionUrl()
> .username("username")
> .password("password")
> .driverClass("com.mysql.jdbc.Driver")
> .eviction().strategy(EvictionStrategy.LRU).maxEntries(2);
> Configuration localConf = builder.build();
> DefaultCacheManager defCacheManager = new DefaultCacheManager(globalConf, localConf, true);
> Cache<String, String> cache = defCacheManager.getCache();
> cache.put("k1", "v1");
> cache.put("k2", "v2");
> //not yet in store (eviction.max-entries=2, LRU)
> cache.put("k3", "v3");
> assertEquals("v3", cache.get("k3"));
> //now k1 evicted and stored in store
> assertEquals(2, cache.size()); <<< only 2 entries should remain in cache, k1 should be passivated and removed. But doesn't work!
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] (ISPN-3405) Entries are passivated with wrong ID in DB
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3405?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3405:
-----------------------------------------------
Tristan Tarrant <ttarrant(a)redhat.com> changed the Status of [bug 996877|https://bugzilla.redhat.com/show_bug.cgi?id=996877] from NEW to ASSIGNED
> Entries are passivated with wrong ID in DB
> ------------------------------------------
>
> Key: ISPN-3405
> URL: https://issues.jboss.org/browse/ISPN-3405
> Project: Infinispan
> Issue Type: Bug
> Components: Eviction
> Affects Versions: 5.3.0.Final, 6.0.0.Alpha1
> Reporter: Vitalii Chepeliuk
> Assignee: Galder Zamarreño
> Fix For: 6.0.0.Alpha3, 6.0.0.Final
>
>
> Entry passivation into DB, concretly this class LockSupportCacheStore and method store. Look at lines with "<<<" string for more info
> {code:title=LockSupportCacheStore.java|borderStyle=solid}
> @Override
> public final void store(InternalCacheEntry ed) throws CacheLoaderException {
> if (trace) {
> log.tracef("store(%s)", ed);
> }
> if (ed == null) {
> return;
> }
> if (ed.canExpire() && ed.isExpired(timeService.wallClockTime())) {
> if (containsKey(ed.getKey())) {
> if (trace) {
> log.tracef("Entry %s is expired! Removing!", ed);
> }
> remove(ed.getKey());
> } else {
> if (trace) {
> log.tracef("Entry %s is expired! Not doing anything.", ed);
> }
> }
> return;
> }
> L keyHashCode = getLockFromKey(ed.getKey()); <<< here key is generated like ed.getKey().hashCode() & 0xfffffc00;
> lockForWriting(keyHashCode);
> try {
> storeLockSafe(ed, keyHashCode); <<< here it should be stored into Bucket and then stored in DB
> } finally {
> unlock(keyHashCode);
> }
> if (trace) {
> log.tracef("exit store(%s)", ed);
> }
> }
> {code}
> When I use RemoteCacheManager and RemoteCache I am putting entries into cache
> {code:title=Test.java|borderStyle=solid}
> cache.put("key1", "v1");
> cache.put("key2", "v2");
> cache.put("key3", "v3");
> {code}
> Then 2 entries are passivated and stored in DB
> ||ID||DATA||TIMESTAMP||
> |183713792|0301fe032a01034c422b21033e286d7942657374506572736f6e616c4b657957686963684861734e657665724265656e426574746572420521033e02763203620003630000000000000002|-1|
> |23486464|0301fe032a01034c420721033e046b657931420521033e02763103620003630000000000000001|-1|
> IDs are generated from method above and
> {code:title=Test.java|borderStyle=solid}
> byte[] keyBytes = marshaller.objectToByteBuffer("key1"); <<< key is marshalled
> long keyID = ByteArrayEquivalence.INSTANCE.hashCode(keyBytes) & 0xfffffc00 //computation taken from BucketBasedCacheStore <<< this does not work for me
> {code}
> And next step I'd like to retrieve data from DB
> SELECT ID, DATA FROM JDBC_BINARY_DEFAULT WHERE ID=keyID
> But in method
> {code:title=BucketBasedCacheStore.java|borderStyle=solid}
> @Override
> public Integer getLockFromKey(Object key) {
> return key.hashCode() & 0xfffffc00; <<< here should be used Arrays.hashCode((byte[])key) & 0xfffffc00), if key is represented as byte array, or used ByteArrayEquivalence instead of simple byte array(byte[]) as argument
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] (ISPN-3366) Data loss when entry forwarding to primary owner and primary owner shutdown
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3366?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3366:
-----------------------------------------------
Tristan Tarrant <ttarrant(a)redhat.com> changed the Status of [bug 989807|https://bugzilla.redhat.com/show_bug.cgi?id=989807] from NEW to MODIFIED
> Data loss when entry forwarding to primary owner and primary owner shutdown
> ---------------------------------------------------------------------------
>
> Key: ISPN-3366
> URL: https://issues.jboss.org/browse/ISPN-3366
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Cache
> Affects Versions: 5.2.4.Final, 6.0.0.Alpha1
> Reporter: Takayoshi Kimura
> Assignee: Dan Berindei
> Priority: Critical
> Fix For: 5.2.8.Final, 6.0.0.Alpha3, 6.0.0.Final
>
> Attachments: ISPN-3366-full-logs-3rd.zip, ISPN-3366-full-logs-4th.zip, ISPN-3366-logs.zip
>
>
> Looks like a problem in entry forwarding.
> Here is test scenario:
> * DIST numOwners=2, start with 4 nodes cluster then normal shutdown 1 node during load
> * HotRod putIfAbsent accesses from 40 threads (1 process, 1 remote cache instance), 40000 entries total
> After the test run, the numberOfEntries on each node are:
> * node1: 26608
> * node2: 26622
> * node3: 26746
> * node4: 0
> Total is 79976 and HotRod client received 11 errors, so 79976 + (11 * 2) = 79998. It means 1 entry is completely missing.
> Let's take a look at the missing entry, hash(thread16key59) = 574ff563.
> Current CH: owners(574ff563) are [node4, node1]
> The events sequence is:
> * hotrod -> node1
> * node1 forwarding it to primary owner node4
> * node4 doesn't process the forwarded entry, shutdown
> Result owners(7c29bccb) is [] empty. This entry is completely lost without any errors.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] (ISPN-3414) Infinispan ignores DatabaseType configuration
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-3414?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant reassigned ISPN-3414:
-------------------------------------
Assignee: Tristan Tarrant (was: Mircea Markus)
> Infinispan ignores DatabaseType configuration
> ----------------------------------------------
>
> Key: ISPN-3414
> URL: https://issues.jboss.org/browse/ISPN-3414
> Project: Infinispan
> Issue Type: Bug
> Components: Configuration
> Affects Versions: 6.0.0.Alpha2
> Reporter: Vitalii Chepeliuk
> Assignee: Tristan Tarrant
> Priority: Critical
> Attachments: standalone.xml
>
>
> When I configure DefaultCacheManager with following configuration
> {code:title=Configurator.java|borderStyle=solid}
> ConfigurationBuilder bld = new ConfigurationBuilder();
> bld.clustering().cacheMode(CacheMode.LOCAL)
> .loaders().passivation(passivation).preload(preload).shared(false)
> .addLoader(JdbcMixedCacheStoreConfigurationBuilder.class).fetchPersistentState(false).purgeOnStartup(false)
> .databaseType(DatabaseType.MYSQL)
> .stringTable()
> .dropOnExit(false)
> .createOnStart(true)
> .tableNamePrefix("ISPN6Alpha2_STRING")
> .idColumnName("ID").idColumnType("VARCHAR(255)")
> .dataColumnName("DATA").dataColumnType("VARBINARY(1000)")
> .timestampColumnName("TIMESTAMP").timestampColumnType("BIGINT")
> .binaryTable()
> .dropOnExit(false)
> .createOnStart(true)
> .tableNamePrefix("ISPN6Alpha2_BINARY")
> .idColumnName("ID").idColumnType("VARCHAR(255)")
> .dataColumnName("DATA").dataColumnType("VARBINARY(1000)")
> .timestampColumnName("TIMESTAMP").timestampColumnType("BIGINT")
> .dataSource()
> .jndiUrl("java:jboss/datasources/ExampleDS");
> {code}
> And here is TableManipulation class with getDatabaseType() method
> {code:title=TableManipulation.java|borderStyle=solid}
> private DatabaseType getDatabaseType() {
> databaseType = config.databaseType();
> System.out.println(">>>>>>> databaseType "+ databaseType);
> if (databaseType == null) {
> // need to guess from the database type!
> Connection connection = null;
> ...
> {code}
> *Got the following output when test is running*
> !!!!! is printed from my client code
> >>>>> is printed from infinispan(TableManipulation.java)
> -----
> [java] 10:59:07,347 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype MYSQL
> [java] 10:59:07,500 INFO [org.infinispan.factories.GlobalComponentRegistry] (pool-1-thread-1) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.0.0.Alpha2-redhat-1
> [java] 10:59:09,851 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:11,953 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:12,644 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:12,645 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:13,393 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] 10:59:24,780 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:24,954 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:25,260 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,679 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,680 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,843 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,844 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:30,002 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] 10:59:38,626 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:38,776 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:41,806 INFO [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (pool-1-thread-1) BeanManager not found.
> [java] 10:59:41,813 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype MYSQL
> [java] 10:59:41,848 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:41,848 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:42,018 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:42,020 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:42,176 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] 10:59:52,364 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:52,515 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:52,667 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:57,155 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> -----
> *And other issue with postgresqlplus92 DB, infinispan cannt recognize it like DatabaseType.POSTGRES* here is a link on our jenkins job https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/edg-60-jdbc-cache-st...
> -----
> [java] ^[[0m^[[0m10:53:45,198 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype POSTGRES
> [java] ^[[0m^[[0m10:53:45,348 INFO [org.infinispan.factories.GlobalComponentRegistry] (pool-1-thread-1) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.0.0.Alpha2-redhat-1
> [java] ^[[0m^[[0m10:53:46,845 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:48,939 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:50,429 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:51,456 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:52,994 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] ^[[0m^[[0m10:53:59,232 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:59,414 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:01,807 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:04,020 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:06,084 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:07,275 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:08,303 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:09,509 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] ^[[0m^[[0m10:54:13,520 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:13,693 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:16,104 INFO [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (pool-1-thread-1) BeanManager not found.
> [java] ^[[0m^[[0m10:54:16,111 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype POSTGRES
> [java] ^[[0m^[[0m10:54:16,148 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:18,180 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:19,352 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:20,358 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:21,531 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] ^[[0m^[[0m10:54:26,078 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:26,256 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:27,419 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[31m10:54:57,421 ERROR [org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory] (pool-1-thread-1) ISPN008018: Sql failure retrieving connection from datasource: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/ExampleDS
> [java] at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:147)
> [java] at org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory.getConnection(ManagedConnectionFactory.java:82) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> [java] at org.infinispan.loaders.jdbc.TableManipulation.getDatabaseType(TableManipulation.java:396) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> [java] at org.infinispan.loaders.jdbc.TableManipulation.getSelectRowSql(TableManipulation.java:193) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> [java] at org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore.loadBucket(JdbcBinaryCacheStore.java:247) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> -----
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months
[JBoss JIRA] (ISPN-3414) Infinispan ignores DatabaseType configuration
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3414?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3414:
-----------------------------------------------
Tristan Tarrant <ttarrant(a)redhat.com> changed the Status of [bug 997365|https://bugzilla.redhat.com/show_bug.cgi?id=997365] from NEW to ASSIGNED
> Infinispan ignores DatabaseType configuration
> ----------------------------------------------
>
> Key: ISPN-3414
> URL: https://issues.jboss.org/browse/ISPN-3414
> Project: Infinispan
> Issue Type: Bug
> Components: Configuration
> Affects Versions: 6.0.0.Alpha2
> Reporter: Vitalii Chepeliuk
> Assignee: Tristan Tarrant
> Priority: Critical
> Attachments: standalone.xml
>
>
> When I configure DefaultCacheManager with following configuration
> {code:title=Configurator.java|borderStyle=solid}
> ConfigurationBuilder bld = new ConfigurationBuilder();
> bld.clustering().cacheMode(CacheMode.LOCAL)
> .loaders().passivation(passivation).preload(preload).shared(false)
> .addLoader(JdbcMixedCacheStoreConfigurationBuilder.class).fetchPersistentState(false).purgeOnStartup(false)
> .databaseType(DatabaseType.MYSQL)
> .stringTable()
> .dropOnExit(false)
> .createOnStart(true)
> .tableNamePrefix("ISPN6Alpha2_STRING")
> .idColumnName("ID").idColumnType("VARCHAR(255)")
> .dataColumnName("DATA").dataColumnType("VARBINARY(1000)")
> .timestampColumnName("TIMESTAMP").timestampColumnType("BIGINT")
> .binaryTable()
> .dropOnExit(false)
> .createOnStart(true)
> .tableNamePrefix("ISPN6Alpha2_BINARY")
> .idColumnName("ID").idColumnType("VARCHAR(255)")
> .dataColumnName("DATA").dataColumnType("VARBINARY(1000)")
> .timestampColumnName("TIMESTAMP").timestampColumnType("BIGINT")
> .dataSource()
> .jndiUrl("java:jboss/datasources/ExampleDS");
> {code}
> And here is TableManipulation class with getDatabaseType() method
> {code:title=TableManipulation.java|borderStyle=solid}
> private DatabaseType getDatabaseType() {
> databaseType = config.databaseType();
> System.out.println(">>>>>>> databaseType "+ databaseType);
> if (databaseType == null) {
> // need to guess from the database type!
> Connection connection = null;
> ...
> {code}
> *Got the following output when test is running*
> !!!!! is printed from my client code
> >>>>> is printed from infinispan(TableManipulation.java)
> -----
> [java] 10:59:07,347 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype MYSQL
> [java] 10:59:07,500 INFO [org.infinispan.factories.GlobalComponentRegistry] (pool-1-thread-1) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.0.0.Alpha2-redhat-1
> [java] 10:59:09,851 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:11,953 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:12,644 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:12,645 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:13,393 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] 10:59:24,780 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:24,954 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:25,260 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,679 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,680 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,843 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:29,844 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:30,002 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] 10:59:38,626 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:38,776 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:41,806 INFO [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (pool-1-thread-1) BeanManager not found.
> [java] 10:59:41,813 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype MYSQL
> [java] 10:59:41,848 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:41,848 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:42,018 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:42,020 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:42,176 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] 10:59:52,364 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:52,515 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:52,667 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] 10:59:57,155 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> -----
> *And other issue with postgresqlplus92 DB, infinispan cannt recognize it like DatabaseType.POSTGRES* here is a link on our jenkins job https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/edg-60-jdbc-cache-st...
> -----
> [java] ^[[0m^[[0m10:53:45,198 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype POSTGRES
> [java] ^[[0m^[[0m10:53:45,348 INFO [org.infinispan.factories.GlobalComponentRegistry] (pool-1-thread-1) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.0.0.Alpha2-redhat-1
> [java] ^[[0m^[[0m10:53:46,845 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:48,939 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:50,429 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:51,456 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:52,994 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] ^[[0m^[[0m10:53:59,232 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:53:59,414 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:01,807 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:04,020 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:06,084 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:07,275 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:08,303 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:09,509 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] ^[[0m^[[0m10:54:13,520 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:13,693 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:16,104 INFO [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (pool-1-thread-1) BeanManager not found.
> [java] ^[[0m^[[0m10:54:16,111 INFO [stdout] (pool-1-thread-1) !!!!!!! databasetype POSTGRES
> [java] ^[[0m^[[0m10:54:16,148 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:18,180 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:19,352 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:20,358 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:21,531 INFO [org.infinispan.jmx.CacheJmxRegistration] (pool-1-thread-1) ISPN000031: MBeans were successfully registered to the platform MBean server.
> [java] ^[[0m^[[0m10:54:26,078 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:26,256 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[0m10:54:27,419 INFO [stdout] (pool-1-thread-1) >>>>>>> databaseType null
> [java] ^[[0m^[[31m10:54:57,421 ERROR [org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory] (pool-1-thread-1) ISPN008018: Sql failure retrieving connection from datasource: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/ExampleDS
> [java] at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:147)
> [java] at org.infinispan.loaders.jdbc.connectionfactory.ManagedConnectionFactory.getConnection(ManagedConnectionFactory.java:82) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> [java] at org.infinispan.loaders.jdbc.TableManipulation.getDatabaseType(TableManipulation.java:396) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> [java] at org.infinispan.loaders.jdbc.TableManipulation.getSelectRowSql(TableManipulation.java:193) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> [java] at org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStore.loadBucket(JdbcBinaryCacheStore.java:247) [infinispan-cachestore-jdbc.jar:6.0.0.Alpha2-redhat-1]
> -----
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 7 months