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

Native client crash indicating coredump

    XMLWordPrintableJSON

Details

    Description

      Faulty scenario:

      1. Client initiates transaction.
      2. Client put entry in region1 that has CacheWriter configured
      3. Server CacheWriter receives a notification for region1, and triggers put operation to region2 which is not defined on client.
      4. client commit transaction

      When client commit transaction it then get region2 enlisted in transaction, which is not defined on client and therefore coredump happens.

      This scenario works for java client. Java client only ignores region that aren't defined on client:

       private boolean hookupRegion(DistributionManager dm) {
            this.internalRegion = getRegionByPath(dm, regionPath);
            if (this.internalRegion == null && this.parentRegionPath != null) {
              this.internalRegion = getRegionByPath(dm, this.parentRegionPath);
              this.regionPath = this.parentRegionPath;
            }
            if (this.internalRegion == null && dm.getSystem().isLoner()) {
              // If there are additional regions that the server enlisted in the tx,
              // which the client does not have, the client can just ignore the region
              // see bug 51922
              return false;
            }
            return true;
          }
      

      Attachments

        Issue Links

          Activity

            People

              jvarenina Jakov Varenina
              jvarenina Jakov Varenina
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: