Uploaded image for project: 'Cloud Enablement'
  1. Cloud Enablement
  2. CLOUD-2190

[JDV6.4] JDV/JDG infinispan-hotrod "DELETE FROM Foo" deletes only 4096 entries, blocks if more than 8192 entries in cache

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • JDV64 1.0.0.GA
    • JDV64 1.0.0.GA
    • JDV
    • None
    • CLOUD Maintenance Sprint 14

      Having a JDG cache used as a JDV table:

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <vdb name="People" version="1">
      
      	<description>People Object Cache VDB</description>
      
      	<property name="UseConnectorMetadata" value="true"/>
      
      	<model name="People" type="Physical">
      		<source name="infinispan" translator-name="infinispan-hotrod"
      				connection-jndi-name="java:/infinispanRemoteDSL"/>
      
      		<metadata type = "DDL"><![CDATA[
                  CREATE FOREIGN TABLE Person (name varchar(100), id integer PRIMARY KEY) OPTIONS(UPDATABLE true, "teiid_ispn:cache" 'test');
              ]]>
      		</metadata>
      
      		<metadata type = "NATIVE"/>
      
      	</model>
      </vdb>
      

      Issuing "DELETE FROM Person" via JDBC doesn't seem to work properly if more than 4096 entries have been inserted into the table (using "insert into Person (id, name) values(%s, 'generatedByBeforeMethod')" via JDBC)

      Scenario:

      • insert N entries via JDBC
      • wait 60 seconds
      • DELETE FROM Person via JDBC
      • wait 60 seconds
      • query "select * from Person" via JDBC

      this works for N < 4096
      for N = 4128, the final select show 32 entries left in the database (confirmed that JDG contains 32 entries in the cache after the test)
      for N = 8224, the DELETE FROM statement seems to hang.
      for N = 8160, the select shows 1024 entries before the query is prematurely terminated with an error, 4064 entries remain in the JDG cache.

      22:28:46,083 ERROR [org.teiid.CONNECTOR] (Worker2_QueryProcessorQueue32655) Connector worker process failed for atomic-request=b3rhi1fi1gxI.0.0.8163: java.util.NoSuchElementException
      	at java.util.ArrayList$Itr.next(ArrayList.java:860) [rt.jar:1.8.0_151]
      	at org.teiid.translator.infinispan.hotrod.InfinispanResponse.getNextRow(InfinispanResponse.java:106) [translator-infinispan-hotrod-8.12.11.6_4-redhat-7.jar:8.12.11.6_4-redhat-7]
      	at org.teiid.translator.infinispan.hotrod.InfinispanQueryExecution.next(InfinispanQueryExecution.java:142) [translator-infinispan-hotrod-8.12.11.6_4-redhat-7.jar:8.12.11.6_4-redhat-7]
      	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleBatch(ConnectorWorkItem.java:433) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.more(ConnectorWorkItem.java:236) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at sun.reflect.GeneratedMethodAccessor107.invoke(Unknown Source) [:1.8.0_151]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_151]
      	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
      	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at com.sun.proxy.$Proxy64.more(Unknown Source)
      	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:309) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_151]
      	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.11.6_4-redhat-64-7.jar:8.12.11.6_4-redhat-64-7]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
      	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
      

            van.halbert Van Halbert (Inactive)
            maschmid@redhat.com Marek Schmidt
            Stanislav Kaleta Stanislav Kaleta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: