hollow/src/main/java/com/netflix/hollow/core/read/engine/map/HollowMapTypeReadState.java [256:278]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        int hashCode = SetMapKeyHasher.hash(hashKey, keyDeriver.getFieldTypes());

        threadsafe:
        do {
            long startBucket;
            long endBucket;
            do {
                shardsHolder = this.shardsVolatile;
                shard = shardsHolder.shards[ordinal & shardsHolder.shardNumberMask];
                shardOrdinal = ordinal >> shard.shardOrdinalShift;

                startBucket = shard.dataElements.getStartBucket(shardOrdinal);
                endBucket = shard.dataElements.getEndBucket(shardOrdinal);
            } while(readWasUnsafe(shardsHolder, ordinal, shard));

            long bucket = startBucket + (hashCode & (endBucket - startBucket - 1));
            int bucketKeyOrdinal = shard.dataElements.getBucketKeyByAbsoluteIndex(bucket);

            while(bucketKeyOrdinal != shard.dataElements.emptyBucketKeyValue) {
                if(readWasUnsafe(shardsHolder, ordinal, shard))
                    continue threadsafe;

                if(keyDeriver.keyMatches(bucketKeyOrdinal, hashKey)) {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



hollow/src/main/java/com/netflix/hollow/core/read/engine/map/HollowMapTypeReadState.java [314:336]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        int hashCode = SetMapKeyHasher.hash(hashKey, keyDeriver.getFieldTypes());

        threadsafe:
        do {
            long startBucket;
            long endBucket;
            do {
                shardsHolder = this.shardsVolatile;
                shard = shardsHolder.shards[ordinal & shardsHolder.shardNumberMask];
                shardOrdinal = ordinal >> shard.shardOrdinalShift;

                startBucket = shard.dataElements.getStartBucket(shardOrdinal);
                endBucket = shard.dataElements.getEndBucket(shardOrdinal);
            } while(readWasUnsafe(shardsHolder, ordinal, shard));

            long bucket = startBucket + (hashCode & (endBucket - startBucket - 1));
            int bucketKeyOrdinal = shard.dataElements.getBucketKeyByAbsoluteIndex(bucket);

            while(bucketKeyOrdinal != shard.dataElements.emptyBucketKeyValue) {
                if(readWasUnsafe(shardsHolder, ordinal, shard))
                    continue threadsafe;

                if(keyDeriver.keyMatches(bucketKeyOrdinal, hashKey)) {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



