Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-6651

NPE for transaction read in partition regions with detectReadConflicts

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.10.0
    • transactions

    Description

      Hi, 

      we are using transactional reads and setting detectReadConflicts to true to ensure Isolation, as it is described in Apache Geode documentation.

      Only read operations are performed in transaction.

      This is working properly for replicated region but not for partitioned region. In the case of partitioned region, when we do the transaction commit we get the following Exception:

      terminate called after throwing an instance of 'apache::geode::client::Exception'
        what():  java.lang.NullPointerException
       at org.apache.geode.internal.cache.BucketRegion.getAdjunctReceivers(BucketRegion.java:1957)
       at org.apache.geode.internal.cache.TXState.attachFilterProfileInformation(TXState.java:566)
       at org.apache.geode.internal.cache.TXState.commit(TXState.java:478)
       at org.apache.geode.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:209)
       at org.apache.geode.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:409)
       at org.apache.geode.internal.cache.tier.sockets.command.CommitCommand.commitTransaction(CommitCommand.java:95)
       at org.apache.geode.internal.cache.tier.sockets.command.CommitCommand.cmdExecute(CommitCommand.java:83)
       at org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:172)
       at org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMessage(ServerConnection.java:844)
       at org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:74)
       at org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1214)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
       at org.apache.geode.internal.cache.tier.sockets.AcceptorImpl.lambda$initializeServerConnectionThreadPool$3(AcceptorImpl.java:594)
       at org.apache.geode.internal.logging.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:121)
       at java.lang.Thread.run(Thread.java:748)

       

      Attachments

        Issue Links

          Activity

            People

              mivanac Mario Ivanac
              mivanac Mario Ivanac
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m