@celerispay/hazelcast-client 3.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -0
- package/CHANGELOG.md +116 -0
- package/CONFIG.md +503 -0
- package/FAILOVER_FIXES.md +284 -0
- package/LICENSE +202 -0
- package/QUICK_START.md +143 -0
- package/README.md +178 -0
- package/RELEASE_SUMMARY.md +180 -0
- package/config-schema.json +343 -0
- package/hazelcast-client-default.json +56 -0
- package/hazelcast-client-full.json +137 -0
- package/lib/Address.d.ts +17 -0
- package/lib/Address.js +65 -0
- package/lib/BitsUtil.d.ts +69 -0
- package/lib/BitsUtil.js +202 -0
- package/lib/BuildInfo.d.ts +9 -0
- package/lib/BuildInfo.js +53 -0
- package/lib/ClientInfo.d.ts +15 -0
- package/lib/ClientInfo.js +27 -0
- package/lib/ClientMessage.d.ts +52 -0
- package/lib/ClientMessage.js +217 -0
- package/lib/ClusterDataFactory.d.ts +4 -0
- package/lib/ClusterDataFactory.js +31 -0
- package/lib/ClusterDataFactoryHelper.d.ts +5 -0
- package/lib/ClusterDataFactoryHelper.js +26 -0
- package/lib/DataStoreHashMap.d.ts +20 -0
- package/lib/DataStoreHashMap.js +112 -0
- package/lib/DistributedObject.d.ts +22 -0
- package/lib/DistributedObject.js +17 -0
- package/lib/HazelcastClient.d.ts +201 -0
- package/lib/HazelcastClient.js +370 -0
- package/lib/HazelcastError.d.ts +114 -0
- package/lib/HazelcastError.js +389 -0
- package/lib/HeartbeatService.d.ts +30 -0
- package/lib/HeartbeatService.js +108 -0
- package/lib/LifecycleService.d.ts +32 -0
- package/lib/LifecycleService.js +105 -0
- package/lib/ListenerMessageCodec.d.ts +6 -0
- package/lib/ListenerMessageCodec.js +17 -0
- package/lib/ListenerService.d.ts +35 -0
- package/lib/ListenerService.js +233 -0
- package/lib/LockReferenceIdGenerator.d.ts +6 -0
- package/lib/LockReferenceIdGenerator.js +29 -0
- package/lib/PartitionService.d.ts +38 -0
- package/lib/PartitionService.js +118 -0
- package/lib/Util.d.ts +47 -0
- package/lib/Util.js +351 -0
- package/lib/aggregation/Aggregator.d.ts +74 -0
- package/lib/aggregation/Aggregator.js +277 -0
- package/lib/aggregation/AggregatorFactory.d.ts +26 -0
- package/lib/aggregation/AggregatorFactory.js +66 -0
- package/lib/aggregation/Aggregators.d.ts +96 -0
- package/lib/aggregation/Aggregators.js +149 -0
- package/lib/codec/AddressCodec.d.ts +6 -0
- package/lib/codec/AddressCodec.js +33 -0
- package/lib/codec/AtomicLongAddAndGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongAddAndGetCodec.js +56 -0
- package/lib/codec/AtomicLongCompareAndSetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongCompareAndSetCodec.js +58 -0
- package/lib/codec/AtomicLongDecrementAndGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongDecrementAndGetCodec.js +54 -0
- package/lib/codec/AtomicLongGetAndAddCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetAndAddCodec.js +56 -0
- package/lib/codec/AtomicLongGetAndIncrementCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetAndIncrementCodec.js +54 -0
- package/lib/codec/AtomicLongGetAndSetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetAndSetCodec.js +56 -0
- package/lib/codec/AtomicLongGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongGetCodec.js +54 -0
- package/lib/codec/AtomicLongIncrementAndGetCodec.d.ts +7 -0
- package/lib/codec/AtomicLongIncrementAndGetCodec.js +54 -0
- package/lib/codec/AtomicLongMessageType.d.ts +15 -0
- package/lib/codec/AtomicLongMessageType.js +37 -0
- package/lib/codec/AtomicLongSetCodec.d.ts +5 -0
- package/lib/codec/AtomicLongSetCodec.js +47 -0
- package/lib/codec/ClientAddDistributedObjectListenerCodec.d.ts +8 -0
- package/lib/codec/ClientAddDistributedObjectListenerCodec.js +74 -0
- package/lib/codec/ClientAddMembershipListenerCodec.d.ts +8 -0
- package/lib/codec/ClientAddMembershipListenerCodec.js +107 -0
- package/lib/codec/ClientAuthenticationCodec.d.ts +7 -0
- package/lib/codec/ClientAuthenticationCodec.js +114 -0
- package/lib/codec/ClientAuthenticationCustomCodec.d.ts +7 -0
- package/lib/codec/ClientAuthenticationCustomCodec.js +112 -0
- package/lib/codec/ClientCreateProxyCodec.d.ts +6 -0
- package/lib/codec/ClientCreateProxyCodec.js +50 -0
- package/lib/codec/ClientDestroyProxyCodec.d.ts +5 -0
- package/lib/codec/ClientDestroyProxyCodec.js +47 -0
- package/lib/codec/ClientGetDistributedObjectsCodec.d.ts +7 -0
- package/lib/codec/ClientGetDistributedObjectsCodec.js +59 -0
- package/lib/codec/ClientMessageType.d.ts +18 -0
- package/lib/codec/ClientMessageType.js +40 -0
- package/lib/codec/ClientPingCodec.d.ts +5 -0
- package/lib/codec/ClientPingCodec.js +42 -0
- package/lib/codec/ClientRemoveDistributedObjectListenerCodec.d.ts +7 -0
- package/lib/codec/ClientRemoveDistributedObjectListenerCodec.js +54 -0
- package/lib/codec/ClientStatisticsCodec.d.ts +5 -0
- package/lib/codec/ClientStatisticsCodec.js +42 -0
- package/lib/codec/DistributedObjectInfoCodec.d.ts +5 -0
- package/lib/codec/DistributedObjectInfoCodec.js +27 -0
- package/lib/codec/EntryViewCodec.d.ts +7 -0
- package/lib/codec/EntryViewCodec.js +56 -0
- package/lib/codec/FlakeIdGeneratorMessageType.d.ts +3 -0
- package/lib/codec/FlakeIdGeneratorMessageType.js +25 -0
- package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.d.ts +7 -0
- package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.js +60 -0
- package/lib/codec/GetPartitionsCodec.d.ts +9 -0
- package/lib/codec/GetPartitionsCodec.js +45 -0
- package/lib/codec/ListAddAllCodec.d.ts +7 -0
- package/lib/codec/ListAddAllCodec.js +62 -0
- package/lib/codec/ListAddAllWithIndexCodec.d.ts +7 -0
- package/lib/codec/ListAddAllWithIndexCodec.js +64 -0
- package/lib/codec/ListAddCodec.d.ts +7 -0
- package/lib/codec/ListAddCodec.js +56 -0
- package/lib/codec/ListAddListenerCodec.d.ts +8 -0
- package/lib/codec/ListAddListenerCodec.js +80 -0
- package/lib/codec/ListAddWithIndexCodec.d.ts +6 -0
- package/lib/codec/ListAddWithIndexCodec.js +49 -0
- package/lib/codec/ListClearCodec.d.ts +5 -0
- package/lib/codec/ListClearCodec.js +45 -0
- package/lib/codec/ListCompareAndRemoveAllCodec.d.ts +7 -0
- package/lib/codec/ListCompareAndRemoveAllCodec.js +62 -0
- package/lib/codec/ListCompareAndRetainAllCodec.d.ts +7 -0
- package/lib/codec/ListCompareAndRetainAllCodec.js +62 -0
- package/lib/codec/ListContainsAllCodec.d.ts +7 -0
- package/lib/codec/ListContainsAllCodec.js +62 -0
- package/lib/codec/ListContainsCodec.d.ts +7 -0
- package/lib/codec/ListContainsCodec.js +56 -0
- package/lib/codec/ListGetAllCodec.d.ts +7 -0
- package/lib/codec/ListGetAllCodec.js +61 -0
- package/lib/codec/ListGetCodec.d.ts +7 -0
- package/lib/codec/ListGetCodec.js +58 -0
- package/lib/codec/ListIndexOfCodec.d.ts +7 -0
- package/lib/codec/ListIndexOfCodec.js +56 -0
- package/lib/codec/ListIsEmptyCodec.d.ts +7 -0
- package/lib/codec/ListIsEmptyCodec.js +54 -0
- package/lib/codec/ListLastIndexOfCodec.d.ts +7 -0
- package/lib/codec/ListLastIndexOfCodec.js +56 -0
- package/lib/codec/ListMessageType.d.ts +25 -0
- package/lib/codec/ListMessageType.js +47 -0
- package/lib/codec/ListRemoveCodec.d.ts +7 -0
- package/lib/codec/ListRemoveCodec.js +56 -0
- package/lib/codec/ListRemoveListenerCodec.d.ts +7 -0
- package/lib/codec/ListRemoveListenerCodec.js +56 -0
- package/lib/codec/ListRemoveWithIndexCodec.d.ts +7 -0
- package/lib/codec/ListRemoveWithIndexCodec.js +58 -0
- package/lib/codec/ListSetCodec.d.ts +7 -0
- package/lib/codec/ListSetCodec.js +60 -0
- package/lib/codec/ListSizeCodec.d.ts +7 -0
- package/lib/codec/ListSizeCodec.js +54 -0
- package/lib/codec/ListSubCodec.d.ts +7 -0
- package/lib/codec/ListSubCodec.js +65 -0
- package/lib/codec/LockForceUnlockCodec.d.ts +5 -0
- package/lib/codec/LockForceUnlockCodec.js +47 -0
- package/lib/codec/LockGetLockCountCodec.d.ts +7 -0
- package/lib/codec/LockGetLockCountCodec.js +54 -0
- package/lib/codec/LockGetRemainingLeaseTimeCodec.d.ts +7 -0
- package/lib/codec/LockGetRemainingLeaseTimeCodec.js +54 -0
- package/lib/codec/LockIsLockedByCurrentThreadCodec.d.ts +7 -0
- package/lib/codec/LockIsLockedByCurrentThreadCodec.js +56 -0
- package/lib/codec/LockIsLockedCodec.d.ts +7 -0
- package/lib/codec/LockIsLockedCodec.js +54 -0
- package/lib/codec/LockLockCodec.d.ts +5 -0
- package/lib/codec/LockLockCodec.js +51 -0
- package/lib/codec/LockMessageType.d.ts +10 -0
- package/lib/codec/LockMessageType.js +32 -0
- package/lib/codec/LockTryLockCodec.d.ts +7 -0
- package/lib/codec/LockTryLockCodec.js +62 -0
- package/lib/codec/LockUnlockCodec.d.ts +5 -0
- package/lib/codec/LockUnlockCodec.js +49 -0
- package/lib/codec/MapAddEntryListenerCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerCodec.js +104 -0
- package/lib/codec/MapAddEntryListenerToKeyCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerToKeyCodec.js +106 -0
- package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.js +108 -0
- package/lib/codec/MapAddEntryListenerWithPredicateCodec.d.ts +8 -0
- package/lib/codec/MapAddEntryListenerWithPredicateCodec.js +106 -0
- package/lib/codec/MapAddIndexCodec.d.ts +5 -0
- package/lib/codec/MapAddIndexCodec.js +49 -0
- package/lib/codec/MapAddNearCacheEntryListenerCodec.d.ts +8 -0
- package/lib/codec/MapAddNearCacheEntryListenerCodec.js +135 -0
- package/lib/codec/MapAddNearCacheInvalidationListenerCodec.d.ts +8 -0
- package/lib/codec/MapAddNearCacheInvalidationListenerCodec.js +138 -0
- package/lib/codec/MapAggregateCodec.d.ts +7 -0
- package/lib/codec/MapAggregateCodec.js +61 -0
- package/lib/codec/MapAggregateWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapAggregateWithPredicateCodec.js +63 -0
- package/lib/codec/MapClearCodec.d.ts +5 -0
- package/lib/codec/MapClearCodec.js +45 -0
- package/lib/codec/MapContainsKeyCodec.d.ts +7 -0
- package/lib/codec/MapContainsKeyCodec.js +58 -0
- package/lib/codec/MapContainsValueCodec.d.ts +7 -0
- package/lib/codec/MapContainsValueCodec.js +56 -0
- package/lib/codec/MapDeleteCodec.d.ts +6 -0
- package/lib/codec/MapDeleteCodec.js +49 -0
- package/lib/codec/MapEntriesWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapEntriesWithPredicateCodec.js +67 -0
- package/lib/codec/MapEntrySetCodec.d.ts +7 -0
- package/lib/codec/MapEntrySetCodec.js +65 -0
- package/lib/codec/MapEvictAllCodec.d.ts +5 -0
- package/lib/codec/MapEvictAllCodec.js +45 -0
- package/lib/codec/MapEvictCodec.d.ts +7 -0
- package/lib/codec/MapEvictCodec.js +58 -0
- package/lib/codec/MapExecuteOnAllKeysCodec.d.ts +7 -0
- package/lib/codec/MapExecuteOnAllKeysCodec.js +67 -0
- package/lib/codec/MapExecuteOnKeyCodec.d.ts +7 -0
- package/lib/codec/MapExecuteOnKeyCodec.js +62 -0
- package/lib/codec/MapExecuteOnKeysCodec.d.ts +7 -0
- package/lib/codec/MapExecuteOnKeysCodec.js +75 -0
- package/lib/codec/MapExecuteWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapExecuteWithPredicateCodec.js +69 -0
- package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.d.ts +8 -0
- package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.js +101 -0
- package/lib/codec/MapFlushCodec.d.ts +5 -0
- package/lib/codec/MapFlushCodec.js +45 -0
- package/lib/codec/MapForceUnlockCodec.d.ts +6 -0
- package/lib/codec/MapForceUnlockCodec.js +49 -0
- package/lib/codec/MapGetAllCodec.d.ts +7 -0
- package/lib/codec/MapGetAllCodec.js +73 -0
- package/lib/codec/MapGetCodec.d.ts +7 -0
- package/lib/codec/MapGetCodec.js +60 -0
- package/lib/codec/MapGetEntryViewCodec.d.ts +7 -0
- package/lib/codec/MapGetEntryViewCodec.js +61 -0
- package/lib/codec/MapIsEmptyCodec.d.ts +7 -0
- package/lib/codec/MapIsEmptyCodec.js +54 -0
- package/lib/codec/MapIsLockedCodec.d.ts +7 -0
- package/lib/codec/MapIsLockedCodec.js +56 -0
- package/lib/codec/MapKeySetCodec.d.ts +7 -0
- package/lib/codec/MapKeySetCodec.js +61 -0
- package/lib/codec/MapKeySetWithPagingPredicateCodec.d.ts +7 -0
- package/lib/codec/MapKeySetWithPagingPredicateCodec.js +63 -0
- package/lib/codec/MapKeySetWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapKeySetWithPredicateCodec.js +63 -0
- package/lib/codec/MapLoadAllCodec.d.ts +5 -0
- package/lib/codec/MapLoadAllCodec.js +47 -0
- package/lib/codec/MapLoadGivenKeysCodec.d.ts +5 -0
- package/lib/codec/MapLoadGivenKeysCodec.js +55 -0
- package/lib/codec/MapLockCodec.d.ts +6 -0
- package/lib/codec/MapLockCodec.js +53 -0
- package/lib/codec/MapMessageType.d.ts +71 -0
- package/lib/codec/MapMessageType.js +93 -0
- package/lib/codec/MapPutAllCodec.d.ts +5 -0
- package/lib/codec/MapPutAllCodec.js +59 -0
- package/lib/codec/MapPutCodec.d.ts +7 -0
- package/lib/codec/MapPutCodec.js +64 -0
- package/lib/codec/MapPutIfAbsentCodec.d.ts +7 -0
- package/lib/codec/MapPutIfAbsentCodec.js +64 -0
- package/lib/codec/MapPutTransientCodec.d.ts +6 -0
- package/lib/codec/MapPutTransientCodec.js +53 -0
- package/lib/codec/MapRemoveCodec.d.ts +7 -0
- package/lib/codec/MapRemoveCodec.js +60 -0
- package/lib/codec/MapRemoveEntryListenerCodec.d.ts +7 -0
- package/lib/codec/MapRemoveEntryListenerCodec.js +56 -0
- package/lib/codec/MapRemoveIfSameCodec.d.ts +7 -0
- package/lib/codec/MapRemoveIfSameCodec.js +60 -0
- package/lib/codec/MapReplaceCodec.d.ts +7 -0
- package/lib/codec/MapReplaceCodec.js +62 -0
- package/lib/codec/MapReplaceIfSameCodec.d.ts +7 -0
- package/lib/codec/MapReplaceIfSameCodec.js +62 -0
- package/lib/codec/MapSetCodec.d.ts +6 -0
- package/lib/codec/MapSetCodec.js +53 -0
- package/lib/codec/MapSizeCodec.d.ts +7 -0
- package/lib/codec/MapSizeCodec.js +54 -0
- package/lib/codec/MapTryLockCodec.d.ts +7 -0
- package/lib/codec/MapTryLockCodec.js +64 -0
- package/lib/codec/MapTryPutCodec.d.ts +7 -0
- package/lib/codec/MapTryPutCodec.js +62 -0
- package/lib/codec/MapTryRemoveCodec.d.ts +7 -0
- package/lib/codec/MapTryRemoveCodec.js +60 -0
- package/lib/codec/MapUnlockCodec.d.ts +6 -0
- package/lib/codec/MapUnlockCodec.js +51 -0
- package/lib/codec/MapValuesCodec.d.ts +7 -0
- package/lib/codec/MapValuesCodec.js +61 -0
- package/lib/codec/MapValuesWithPagingPredicateCodec.d.ts +7 -0
- package/lib/codec/MapValuesWithPagingPredicateCodec.js +67 -0
- package/lib/codec/MapValuesWithPredicateCodec.d.ts +7 -0
- package/lib/codec/MapValuesWithPredicateCodec.js +63 -0
- package/lib/codec/MemberCodec.d.ts +6 -0
- package/lib/codec/MemberCodec.js +49 -0
- package/lib/codec/MultiMapAddEntryListenerCodec.d.ts +8 -0
- package/lib/codec/MultiMapAddEntryListenerCodec.js +102 -0
- package/lib/codec/MultiMapAddEntryListenerToKeyCodec.d.ts +8 -0
- package/lib/codec/MultiMapAddEntryListenerToKeyCodec.js +104 -0
- package/lib/codec/MultiMapClearCodec.d.ts +5 -0
- package/lib/codec/MultiMapClearCodec.js +45 -0
- package/lib/codec/MultiMapContainsEntryCodec.d.ts +7 -0
- package/lib/codec/MultiMapContainsEntryCodec.js +60 -0
- package/lib/codec/MultiMapContainsKeyCodec.d.ts +7 -0
- package/lib/codec/MultiMapContainsKeyCodec.js +58 -0
- package/lib/codec/MultiMapContainsValueCodec.d.ts +7 -0
- package/lib/codec/MultiMapContainsValueCodec.js +56 -0
- package/lib/codec/MultiMapEntrySetCodec.d.ts +7 -0
- package/lib/codec/MultiMapEntrySetCodec.js +65 -0
- package/lib/codec/MultiMapForceUnlockCodec.d.ts +6 -0
- package/lib/codec/MultiMapForceUnlockCodec.js +49 -0
- package/lib/codec/MultiMapGetCodec.d.ts +7 -0
- package/lib/codec/MultiMapGetCodec.js +65 -0
- package/lib/codec/MultiMapIsLockedCodec.d.ts +7 -0
- package/lib/codec/MultiMapIsLockedCodec.js +56 -0
- package/lib/codec/MultiMapKeySetCodec.d.ts +7 -0
- package/lib/codec/MultiMapKeySetCodec.js +61 -0
- package/lib/codec/MultiMapLockCodec.d.ts +6 -0
- package/lib/codec/MultiMapLockCodec.js +53 -0
- package/lib/codec/MultiMapMessageType.d.ts +23 -0
- package/lib/codec/MultiMapMessageType.js +45 -0
- package/lib/codec/MultiMapPutCodec.d.ts +7 -0
- package/lib/codec/MultiMapPutCodec.js +60 -0
- package/lib/codec/MultiMapRemoveCodec.d.ts +7 -0
- package/lib/codec/MultiMapRemoveCodec.js +65 -0
- package/lib/codec/MultiMapRemoveEntryCodec.d.ts +7 -0
- package/lib/codec/MultiMapRemoveEntryCodec.js +60 -0
- package/lib/codec/MultiMapRemoveEntryListenerCodec.d.ts +7 -0
- package/lib/codec/MultiMapRemoveEntryListenerCodec.js +56 -0
- package/lib/codec/MultiMapSizeCodec.d.ts +7 -0
- package/lib/codec/MultiMapSizeCodec.js +54 -0
- package/lib/codec/MultiMapTryLockCodec.d.ts +7 -0
- package/lib/codec/MultiMapTryLockCodec.js +64 -0
- package/lib/codec/MultiMapUnlockCodec.d.ts +6 -0
- package/lib/codec/MultiMapUnlockCodec.js +51 -0
- package/lib/codec/MultiMapValueCountCodec.d.ts +7 -0
- package/lib/codec/MultiMapValueCountCodec.js +58 -0
- package/lib/codec/MultiMapValuesCodec.d.ts +7 -0
- package/lib/codec/MultiMapValuesCodec.js +61 -0
- package/lib/codec/PNCounterAddCodec.d.ts +8 -0
- package/lib/codec/PNCounterAddCodec.js +90 -0
- package/lib/codec/PNCounterGetCodec.d.ts +8 -0
- package/lib/codec/PNCounterGetCodec.js +86 -0
- package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.d.ts +7 -0
- package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.js +54 -0
- package/lib/codec/PNCounterMessageType.d.ts +5 -0
- package/lib/codec/PNCounterMessageType.js +27 -0
- package/lib/codec/QueueAddAllCodec.d.ts +7 -0
- package/lib/codec/QueueAddAllCodec.js +62 -0
- package/lib/codec/QueueAddListenerCodec.d.ts +8 -0
- package/lib/codec/QueueAddListenerCodec.js +80 -0
- package/lib/codec/QueueClearCodec.d.ts +5 -0
- package/lib/codec/QueueClearCodec.js +45 -0
- package/lib/codec/QueueCompareAndRemoveAllCodec.d.ts +7 -0
- package/lib/codec/QueueCompareAndRemoveAllCodec.js +62 -0
- package/lib/codec/QueueCompareAndRetainAllCodec.d.ts +7 -0
- package/lib/codec/QueueCompareAndRetainAllCodec.js +62 -0
- package/lib/codec/QueueContainsAllCodec.d.ts +7 -0
- package/lib/codec/QueueContainsAllCodec.js +62 -0
- package/lib/codec/QueueContainsCodec.d.ts +7 -0
- package/lib/codec/QueueContainsCodec.js +56 -0
- package/lib/codec/QueueDrainToCodec.d.ts +7 -0
- package/lib/codec/QueueDrainToCodec.js +61 -0
- package/lib/codec/QueueDrainToMaxSizeCodec.d.ts +7 -0
- package/lib/codec/QueueDrainToMaxSizeCodec.js +63 -0
- package/lib/codec/QueueIsEmptyCodec.d.ts +7 -0
- package/lib/codec/QueueIsEmptyCodec.js +54 -0
- package/lib/codec/QueueIteratorCodec.d.ts +7 -0
- package/lib/codec/QueueIteratorCodec.js +61 -0
- package/lib/codec/QueueMessageType.d.ts +22 -0
- package/lib/codec/QueueMessageType.js +44 -0
- package/lib/codec/QueueOfferCodec.d.ts +7 -0
- package/lib/codec/QueueOfferCodec.js +58 -0
- package/lib/codec/QueuePeekCodec.d.ts +7 -0
- package/lib/codec/QueuePeekCodec.js +56 -0
- package/lib/codec/QueuePollCodec.d.ts +7 -0
- package/lib/codec/QueuePollCodec.js +58 -0
- package/lib/codec/QueuePutCodec.d.ts +6 -0
- package/lib/codec/QueuePutCodec.js +47 -0
- package/lib/codec/QueueRemainingCapacityCodec.d.ts +7 -0
- package/lib/codec/QueueRemainingCapacityCodec.js +54 -0
- package/lib/codec/QueueRemoveCodec.d.ts +7 -0
- package/lib/codec/QueueRemoveCodec.js +56 -0
- package/lib/codec/QueueRemoveListenerCodec.d.ts +7 -0
- package/lib/codec/QueueRemoveListenerCodec.js +56 -0
- package/lib/codec/QueueSizeCodec.d.ts +7 -0
- package/lib/codec/QueueSizeCodec.js +54 -0
- package/lib/codec/QueueTakeCodec.d.ts +7 -0
- package/lib/codec/QueueTakeCodec.js +56 -0
- package/lib/codec/ReplicatedMapAddEntryListenerCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerCodec.js +100 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.js +102 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.js +104 -0
- package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.d.ts +8 -0
- package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.js +102 -0
- package/lib/codec/ReplicatedMapClearCodec.d.ts +5 -0
- package/lib/codec/ReplicatedMapClearCodec.js +45 -0
- package/lib/codec/ReplicatedMapContainsKeyCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapContainsKeyCodec.js +56 -0
- package/lib/codec/ReplicatedMapContainsValueCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapContainsValueCodec.js +56 -0
- package/lib/codec/ReplicatedMapEntrySetCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapEntrySetCodec.js +65 -0
- package/lib/codec/ReplicatedMapGetCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapGetCodec.js +58 -0
- package/lib/codec/ReplicatedMapIsEmptyCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapIsEmptyCodec.js +54 -0
- package/lib/codec/ReplicatedMapKeySetCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapKeySetCodec.js +61 -0
- package/lib/codec/ReplicatedMapMessageType.d.ts +20 -0
- package/lib/codec/ReplicatedMapMessageType.js +42 -0
- package/lib/codec/ReplicatedMapPutAllCodec.d.ts +5 -0
- package/lib/codec/ReplicatedMapPutAllCodec.js +59 -0
- package/lib/codec/ReplicatedMapPutCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapPutCodec.js +62 -0
- package/lib/codec/ReplicatedMapRemoveCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapRemoveCodec.js +58 -0
- package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.js +56 -0
- package/lib/codec/ReplicatedMapSizeCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapSizeCodec.js +54 -0
- package/lib/codec/ReplicatedMapValuesCodec.d.ts +7 -0
- package/lib/codec/ReplicatedMapValuesCodec.js +61 -0
- package/lib/codec/RingbufferAddAllCodec.d.ts +7 -0
- package/lib/codec/RingbufferAddAllCodec.js +64 -0
- package/lib/codec/RingbufferAddCodec.d.ts +7 -0
- package/lib/codec/RingbufferAddCodec.js +58 -0
- package/lib/codec/RingbufferCapacityCodec.d.ts +7 -0
- package/lib/codec/RingbufferCapacityCodec.js +54 -0
- package/lib/codec/RingbufferHeadSequenceCodec.d.ts +7 -0
- package/lib/codec/RingbufferHeadSequenceCodec.js +54 -0
- package/lib/codec/RingbufferMessageType.d.ts +11 -0
- package/lib/codec/RingbufferMessageType.js +33 -0
- package/lib/codec/RingbufferReadManyCodec.d.ts +7 -0
- package/lib/codec/RingbufferReadManyCodec.js +92 -0
- package/lib/codec/RingbufferReadOneCodec.d.ts +7 -0
- package/lib/codec/RingbufferReadOneCodec.js +58 -0
- package/lib/codec/RingbufferRemainingCapacityCodec.d.ts +7 -0
- package/lib/codec/RingbufferRemainingCapacityCodec.js +54 -0
- package/lib/codec/RingbufferSizeCodec.d.ts +7 -0
- package/lib/codec/RingbufferSizeCodec.js +54 -0
- package/lib/codec/RingbufferTailSequenceCodec.d.ts +7 -0
- package/lib/codec/RingbufferTailSequenceCodec.js +54 -0
- package/lib/codec/SemaphoreAcquireCodec.d.ts +5 -0
- package/lib/codec/SemaphoreAcquireCodec.js +47 -0
- package/lib/codec/SemaphoreAvailablePermitsCodec.d.ts +7 -0
- package/lib/codec/SemaphoreAvailablePermitsCodec.js +54 -0
- package/lib/codec/SemaphoreDrainPermitsCodec.d.ts +7 -0
- package/lib/codec/SemaphoreDrainPermitsCodec.js +54 -0
- package/lib/codec/SemaphoreInitCodec.d.ts +7 -0
- package/lib/codec/SemaphoreInitCodec.js +56 -0
- package/lib/codec/SemaphoreMessageType.d.ts +9 -0
- package/lib/codec/SemaphoreMessageType.js +31 -0
- package/lib/codec/SemaphoreReducePermitsCodec.d.ts +5 -0
- package/lib/codec/SemaphoreReducePermitsCodec.js +47 -0
- package/lib/codec/SemaphoreReleaseCodec.d.ts +5 -0
- package/lib/codec/SemaphoreReleaseCodec.js +47 -0
- package/lib/codec/SemaphoreTryAcquireCodec.d.ts +7 -0
- package/lib/codec/SemaphoreTryAcquireCodec.js +58 -0
- package/lib/codec/SetAddAllCodec.d.ts +7 -0
- package/lib/codec/SetAddAllCodec.js +62 -0
- package/lib/codec/SetAddCodec.d.ts +7 -0
- package/lib/codec/SetAddCodec.js +56 -0
- package/lib/codec/SetAddListenerCodec.d.ts +8 -0
- package/lib/codec/SetAddListenerCodec.js +80 -0
- package/lib/codec/SetClearCodec.d.ts +5 -0
- package/lib/codec/SetClearCodec.js +45 -0
- package/lib/codec/SetCompareAndRemoveAllCodec.d.ts +7 -0
- package/lib/codec/SetCompareAndRemoveAllCodec.js +62 -0
- package/lib/codec/SetCompareAndRetainAllCodec.d.ts +7 -0
- package/lib/codec/SetCompareAndRetainAllCodec.js +62 -0
- package/lib/codec/SetContainsAllCodec.d.ts +7 -0
- package/lib/codec/SetContainsAllCodec.js +62 -0
- package/lib/codec/SetContainsCodec.d.ts +7 -0
- package/lib/codec/SetContainsCodec.js +56 -0
- package/lib/codec/SetGetAllCodec.d.ts +7 -0
- package/lib/codec/SetGetAllCodec.js +61 -0
- package/lib/codec/SetIsEmptyCodec.d.ts +7 -0
- package/lib/codec/SetIsEmptyCodec.js +54 -0
- package/lib/codec/SetMessageType.d.ts +15 -0
- package/lib/codec/SetMessageType.js +37 -0
- package/lib/codec/SetRemoveCodec.d.ts +7 -0
- package/lib/codec/SetRemoveCodec.js +56 -0
- package/lib/codec/SetRemoveListenerCodec.d.ts +7 -0
- package/lib/codec/SetRemoveListenerCodec.js +56 -0
- package/lib/codec/SetSizeCodec.d.ts +7 -0
- package/lib/codec/SetSizeCodec.js +54 -0
- package/lib/codec/UUIDCodec.d.ts +5 -0
- package/lib/codec/UUIDCodec.js +29 -0
- package/lib/config/ClientCloudConfig.d.ts +13 -0
- package/lib/config/ClientCloudConfig.js +34 -0
- package/lib/config/ClientNetworkConfig.d.ts +43 -0
- package/lib/config/ClientNetworkConfig.js +64 -0
- package/lib/config/Config.d.ts +61 -0
- package/lib/config/Config.js +138 -0
- package/lib/config/ConfigBuilder.d.ts +26 -0
- package/lib/config/ConfigBuilder.js +322 -0
- package/lib/config/ConfigPatternMatcher.d.ts +12 -0
- package/lib/config/ConfigPatternMatcher.js +70 -0
- package/lib/config/EvictionPolicy.d.ts +9 -0
- package/lib/config/EvictionPolicy.js +27 -0
- package/lib/config/FlakeIdGeneratorConfig.d.ts +26 -0
- package/lib/config/FlakeIdGeneratorConfig.js +56 -0
- package/lib/config/GroupConfig.d.ts +14 -0
- package/lib/config/GroupConfig.js +35 -0
- package/lib/config/ImportConfig.d.ts +4 -0
- package/lib/config/ImportConfig.js +17 -0
- package/lib/config/InMemoryFormat.d.ts +10 -0
- package/lib/config/InMemoryFormat.js +28 -0
- package/lib/config/JsonConfigLocator.d.ts +16 -0
- package/lib/config/JsonConfigLocator.js +103 -0
- package/lib/config/JsonStringDeserializationPolicy.d.ts +17 -0
- package/lib/config/JsonStringDeserializationPolicy.js +35 -0
- package/lib/config/ListenerConfig.d.ts +8 -0
- package/lib/config/ListenerConfig.js +33 -0
- package/lib/config/NearCacheConfig.d.ts +25 -0
- package/lib/config/NearCacheConfig.js +59 -0
- package/lib/config/Properties.d.ts +5 -0
- package/lib/config/Properties.js +17 -0
- package/lib/config/ReliableTopicConfig.d.ts +8 -0
- package/lib/config/ReliableTopicConfig.js +38 -0
- package/lib/config/SSLConfig.d.ts +34 -0
- package/lib/config/SSLConfig.js +51 -0
- package/lib/config/SerializationConfig.d.ts +29 -0
- package/lib/config/SerializationConfig.js +38 -0
- package/lib/config/StringSerializationPolicy.d.ts +22 -0
- package/lib/config/StringSerializationPolicy.js +40 -0
- package/lib/connection/AddressProvider.d.ts +11 -0
- package/lib/connection/AddressProvider.js +17 -0
- package/lib/connection/AddressTranslator.d.ts +21 -0
- package/lib/connection/AddressTranslator.js +17 -0
- package/lib/connection/BasicSSLOptionsFactory.d.ts +14 -0
- package/lib/connection/BasicSSLOptionsFactory.js +67 -0
- package/lib/connection/DefaultAddressProvider.d.ts +15 -0
- package/lib/connection/DefaultAddressProvider.js +38 -0
- package/lib/connection/DefaultAddressTranslator.d.ts +11 -0
- package/lib/connection/DefaultAddressTranslator.js +33 -0
- package/lib/connection/SSLOptionsFactory.d.ts +7 -0
- package/lib/connection/SSLOptionsFactory.js +17 -0
- package/lib/core/Comparator.d.ts +21 -0
- package/lib/core/Comparator.js +17 -0
- package/lib/core/ConnectionHeartbeatListener.d.ts +16 -0
- package/lib/core/ConnectionHeartbeatListener.js +17 -0
- package/lib/core/DistributedObjectListener.d.ts +24 -0
- package/lib/core/DistributedObjectListener.js +30 -0
- package/lib/core/EntryListener.d.ts +51 -0
- package/lib/core/EntryListener.js +32 -0
- package/lib/core/EntryView.d.ts +16 -0
- package/lib/core/EntryView.js +23 -0
- package/lib/core/EventType.d.ts +12 -0
- package/lib/core/EventType.js +31 -0
- package/lib/core/HazelcastJsonValue.d.ts +32 -0
- package/lib/core/HazelcastJsonValue.js +56 -0
- package/lib/core/ItemListener.d.ts +38 -0
- package/lib/core/ItemListener.js +35 -0
- package/lib/core/MapListener.d.ts +29 -0
- package/lib/core/MapListener.js +29 -0
- package/lib/core/Member.d.ts +23 -0
- package/lib/core/Member.js +44 -0
- package/lib/core/MemberAttributeEvent.d.ts +37 -0
- package/lib/core/MemberAttributeEvent.js +45 -0
- package/lib/core/MemberSelector.d.ts +4 -0
- package/lib/core/MemberSelector.js +17 -0
- package/lib/core/MemberSelectors.d.ts +8 -0
- package/lib/core/MemberSelectors.js +33 -0
- package/lib/core/MembershipEvent.d.ts +20 -0
- package/lib/core/MembershipEvent.js +30 -0
- package/lib/core/MembershipListener.d.ts +22 -0
- package/lib/core/MembershipListener.js +17 -0
- package/lib/core/OverflowPolicy.d.ts +4 -0
- package/lib/core/OverflowPolicy.js +22 -0
- package/lib/core/Predicate.d.ts +28 -0
- package/lib/core/Predicate.js +113 -0
- package/lib/core/ReadOnlyLazyList.d.ts +12 -0
- package/lib/core/ReadOnlyLazyList.js +74 -0
- package/lib/core/RestValue.d.ts +15 -0
- package/lib/core/RestValue.js +51 -0
- package/lib/core/UUID.d.ts +9 -0
- package/lib/core/UUID.js +44 -0
- package/lib/core/VectorClock.d.ts +7 -0
- package/lib/core/VectorClock.js +48 -0
- package/lib/discovery/HazelcastCloudAddressProvider.d.ts +10 -0
- package/lib/discovery/HazelcastCloudAddressProvider.js +35 -0
- package/lib/discovery/HazelcastCloudAddressTranslator.d.ts +13 -0
- package/lib/discovery/HazelcastCloudAddressTranslator.js +54 -0
- package/lib/discovery/HazelcastCloudDiscovery.d.ts +25 -0
- package/lib/discovery/HazelcastCloudDiscovery.js +85 -0
- package/lib/index.d.ts +26 -0
- package/lib/index.js +64 -0
- package/lib/invocation/ClientConnection.d.ts +82 -0
- package/lib/invocation/ClientConnection.js +307 -0
- package/lib/invocation/ClientConnectionManager.d.ts +56 -0
- package/lib/invocation/ClientConnectionManager.js +298 -0
- package/lib/invocation/ClientEventRegistration.d.ts +10 -0
- package/lib/invocation/ClientEventRegistration.js +30 -0
- package/lib/invocation/ClusterService.d.ts +99 -0
- package/lib/invocation/ClusterService.js +417 -0
- package/lib/invocation/ConnectionAuthenticator.d.ts +14 -0
- package/lib/invocation/ConnectionAuthenticator.js +88 -0
- package/lib/invocation/InvocationService.d.ts +138 -0
- package/lib/invocation/InvocationService.js +387 -0
- package/lib/invocation/Murmur.d.ts +2 -0
- package/lib/invocation/Murmur.js +65 -0
- package/lib/invocation/RegistrationKey.d.ts +16 -0
- package/lib/invocation/RegistrationKey.js +48 -0
- package/lib/logging/DefaultLogger.d.ts +12 -0
- package/lib/logging/DefaultLogger.js +48 -0
- package/lib/logging/ILogger.d.ts +49 -0
- package/lib/logging/ILogger.js +17 -0
- package/lib/logging/LoggingService.d.ts +16 -0
- package/lib/logging/LoggingService.js +50 -0
- package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.d.ts +10 -0
- package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.js +34 -0
- package/lib/nearcache/DataRecord.d.ts +33 -0
- package/lib/nearcache/DataRecord.js +109 -0
- package/lib/nearcache/MetadataContainer.d.ts +18 -0
- package/lib/nearcache/MetadataContainer.js +56 -0
- package/lib/nearcache/MetadataFetcher.d.ts +20 -0
- package/lib/nearcache/MetadataFetcher.js +92 -0
- package/lib/nearcache/NearCache.d.ts +89 -0
- package/lib/nearcache/NearCache.js +250 -0
- package/lib/nearcache/NearCacheManager.d.ts +13 -0
- package/lib/nearcache/NearCacheManager.js +50 -0
- package/lib/nearcache/RepairingHandler.d.ts +26 -0
- package/lib/nearcache/RepairingHandler.js +114 -0
- package/lib/nearcache/RepairingTask.d.ts +26 -0
- package/lib/nearcache/RepairingTask.js +117 -0
- package/lib/nearcache/StaleReadDetector.d.ts +7 -0
- package/lib/nearcache/StaleReadDetector.js +2 -0
- package/lib/nearcache/StaleReadDetectorImpl.d.ts +13 -0
- package/lib/nearcache/StaleReadDetectorImpl.js +35 -0
- package/lib/protocol/ClientProtocolErrorCodes.d.ts +91 -0
- package/lib/protocol/ClientProtocolErrorCodes.js +112 -0
- package/lib/protocol/ErrorCodec.d.ts +11 -0
- package/lib/protocol/ErrorCodec.js +50 -0
- package/lib/protocol/ErrorFactory.d.ts +8 -0
- package/lib/protocol/ErrorFactory.js +92 -0
- package/lib/protocol/StackTraceElementCodec.d.ts +8 -0
- package/lib/protocol/StackTraceElementCodec.js +38 -0
- package/lib/proxy/AtomicLongProxy.d.ts +17 -0
- package/lib/proxy/AtomicLongProxy.js +72 -0
- package/lib/proxy/BaseProxy.d.ts +89 -0
- package/lib/proxy/BaseProxy.js +191 -0
- package/lib/proxy/FlakeIdGenerator.d.ts +47 -0
- package/lib/proxy/FlakeIdGenerator.js +17 -0
- package/lib/proxy/FlakeIdGeneratorProxy.d.ts +13 -0
- package/lib/proxy/FlakeIdGeneratorProxy.js +48 -0
- package/lib/proxy/IAtomicLong.d.ts +16 -0
- package/lib/proxy/IAtomicLong.js +17 -0
- package/lib/proxy/IList.d.ts +132 -0
- package/lib/proxy/IList.js +17 -0
- package/lib/proxy/ILock.d.ts +54 -0
- package/lib/proxy/ILock.js +17 -0
- package/lib/proxy/IMap.d.ts +328 -0
- package/lib/proxy/IMap.js +17 -0
- package/lib/proxy/IQueue.d.ts +128 -0
- package/lib/proxy/IQueue.js +17 -0
- package/lib/proxy/ISemaphore.d.ts +53 -0
- package/lib/proxy/ISemaphore.js +17 -0
- package/lib/proxy/ISet.d.ts +89 -0
- package/lib/proxy/ISet.js +17 -0
- package/lib/proxy/ListProxy.d.ts +31 -0
- package/lib/proxy/ListProxy.js +165 -0
- package/lib/proxy/LockProxy.d.ts +16 -0
- package/lib/proxy/LockProxy.js +78 -0
- package/lib/proxy/MapProxy.d.ts +82 -0
- package/lib/proxy/MapProxy.js +651 -0
- package/lib/proxy/MultiMap.d.ts +153 -0
- package/lib/proxy/MultiMap.js +17 -0
- package/lib/proxy/MultiMapProxy.d.ts +33 -0
- package/lib/proxy/MultiMapProxy.js +238 -0
- package/lib/proxy/NearCachedMapProxy.d.ts +41 -0
- package/lib/proxy/NearCachedMapProxy.js +284 -0
- package/lib/proxy/PNCounter.d.ts +162 -0
- package/lib/proxy/PNCounter.js +17 -0
- package/lib/proxy/PNCounterProxy.d.ts +30 -0
- package/lib/proxy/PNCounterProxy.js +181 -0
- package/lib/proxy/PartitionSpecificProxy.d.ts +10 -0
- package/lib/proxy/PartitionSpecificProxy.js +52 -0
- package/lib/proxy/ProxyManager.d.ts +40 -0
- package/lib/proxy/ProxyManager.js +202 -0
- package/lib/proxy/QueueProxy.d.ts +28 -0
- package/lib/proxy/QueueProxy.js +198 -0
- package/lib/proxy/ReplicatedMap.d.ts +149 -0
- package/lib/proxy/ReplicatedMap.js +17 -0
- package/lib/proxy/ReplicatedMapProxy.d.ts +34 -0
- package/lib/proxy/ReplicatedMapProxy.js +256 -0
- package/lib/proxy/Ringbuffer.d.ts +115 -0
- package/lib/proxy/Ringbuffer.js +17 -0
- package/lib/proxy/SemaphoreProxy.d.ts +15 -0
- package/lib/proxy/SemaphoreProxy.js +73 -0
- package/lib/proxy/SetProxy.d.ts +22 -0
- package/lib/proxy/SetProxy.js +130 -0
- package/lib/proxy/flakeid/AutoBatcher.d.ts +30 -0
- package/lib/proxy/flakeid/AutoBatcher.js +104 -0
- package/lib/proxy/ringbuffer/LazyReadResultSet.d.ts +16 -0
- package/lib/proxy/ringbuffer/LazyReadResultSet.js +54 -0
- package/lib/proxy/ringbuffer/ReadResultSet.d.ts +41 -0
- package/lib/proxy/ringbuffer/ReadResultSet.js +17 -0
- package/lib/proxy/ringbuffer/RingbufferProxy.d.ts +19 -0
- package/lib/proxy/ringbuffer/RingbufferProxy.js +98 -0
- package/lib/proxy/topic/ITopic.d.ts +9 -0
- package/lib/proxy/topic/ITopic.js +17 -0
- package/lib/proxy/topic/Message.d.ts +8 -0
- package/lib/proxy/topic/Message.js +23 -0
- package/lib/proxy/topic/MessageListener.d.ts +2 -0
- package/lib/proxy/topic/MessageListener.js +2 -0
- package/lib/proxy/topic/ReliableTopicListenerRunner.d.ts +20 -0
- package/lib/proxy/topic/ReliableTopicListenerRunner.js +73 -0
- package/lib/proxy/topic/ReliableTopicMessage.d.ts +19 -0
- package/lib/proxy/topic/ReliableTopicMessage.js +53 -0
- package/lib/proxy/topic/ReliableTopicProxy.d.ts +31 -0
- package/lib/proxy/topic/ReliableTopicProxy.js +151 -0
- package/lib/proxy/topic/TopicOverloadPolicy.d.ts +23 -0
- package/lib/proxy/topic/TopicOverloadPolicy.js +41 -0
- package/lib/serialization/Data.d.ts +114 -0
- package/lib/serialization/Data.js +17 -0
- package/lib/serialization/DefaultPredicates.d.ts +131 -0
- package/lib/serialization/DefaultPredicates.js +465 -0
- package/lib/serialization/DefaultSerializer.d.ts +134 -0
- package/lib/serialization/DefaultSerializer.js +442 -0
- package/lib/serialization/HeapData.d.ts +44 -0
- package/lib/serialization/HeapData.js +104 -0
- package/lib/serialization/ObjectData.d.ts +102 -0
- package/lib/serialization/ObjectData.js +566 -0
- package/lib/serialization/PredicateFactory.d.ts +15 -0
- package/lib/serialization/PredicateFactory.js +46 -0
- package/lib/serialization/Serializable.d.ts +23 -0
- package/lib/serialization/Serializable.js +17 -0
- package/lib/serialization/SerializationService.d.ts +60 -0
- package/lib/serialization/SerializationService.js +312 -0
- package/lib/serialization/SerializationUtil.d.ts +3 -0
- package/lib/serialization/SerializationUtil.js +31 -0
- package/lib/serialization/portable/ClassDefinition.d.ts +54 -0
- package/lib/serialization/portable/ClassDefinition.js +140 -0
- package/lib/serialization/portable/ClassDefinitionBuilder.d.ts +35 -0
- package/lib/serialization/portable/ClassDefinitionBuilder.js +126 -0
- package/lib/serialization/portable/ClassDefinitionContext.d.ts +9 -0
- package/lib/serialization/portable/ClassDefinitionContext.js +51 -0
- package/lib/serialization/portable/ClassDefinitionWriter.d.ts +35 -0
- package/lib/serialization/portable/ClassDefinitionWriter.js +123 -0
- package/lib/serialization/portable/DefaultPortableReader.d.ts +43 -0
- package/lib/serialization/portable/DefaultPortableReader.js +188 -0
- package/lib/serialization/portable/DefaultPortableWriter.d.ts +37 -0
- package/lib/serialization/portable/DefaultPortableWriter.js +156 -0
- package/lib/serialization/portable/MorphingPortableReader.d.ts +31 -0
- package/lib/serialization/portable/MorphingPortableReader.js +189 -0
- package/lib/serialization/portable/PortableContext.d.ts +16 -0
- package/lib/serialization/portable/PortableContext.js +126 -0
- package/lib/serialization/portable/PortableSerializer.d.ts +68 -0
- package/lib/serialization/portable/PortableSerializer.js +94 -0
- package/lib/statistics/Statistics.d.ts +50 -0
- package/lib/statistics/Statistics.js +232 -0
- package/lib/util/ArrayComparator.d.ts +1 -0
- package/lib/util/ArrayComparator.js +17 -0
- package/lib/util/UuidUtil.d.ts +4 -0
- package/lib/util/UuidUtil.js +35 -0
- package/lib.es6.d.ts +18650 -0
- package/package.json +64 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var Long = require("long");
|
|
19
|
+
var EvictionPolicy_1 = require("../config/EvictionPolicy");
|
|
20
|
+
var InMemoryFormat_1 = require("../config/InMemoryFormat");
|
|
21
|
+
var DataStoreHashMap_1 = require("../DataStoreHashMap");
|
|
22
|
+
var Util_1 = require("../Util");
|
|
23
|
+
var AlwaysFreshStaleReadDetectorImpl = require("./AlwaysFreshStaleReadDetectorImpl");
|
|
24
|
+
var DataRecord_1 = require("./DataRecord");
|
|
25
|
+
var NearCacheImpl = /** @class */ (function () {
|
|
26
|
+
function NearCacheImpl(nearCacheConfig, serializationService) {
|
|
27
|
+
this.staleReadDetector = AlwaysFreshStaleReadDetectorImpl.INSTANCE;
|
|
28
|
+
this.reservationCounter = Long.ZERO;
|
|
29
|
+
this.evictedCount = 0;
|
|
30
|
+
this.expiredCount = 0;
|
|
31
|
+
this.missCount = 0;
|
|
32
|
+
this.hitCount = 0;
|
|
33
|
+
this.creationTime = Date.now();
|
|
34
|
+
this.serializationService = serializationService;
|
|
35
|
+
this.name = nearCacheConfig.name;
|
|
36
|
+
this.invalidateOnChange = nearCacheConfig.invalidateOnChange;
|
|
37
|
+
this.maxIdleSeconds = nearCacheConfig.maxIdleSeconds;
|
|
38
|
+
this.inMemoryFormat = nearCacheConfig.inMemoryFormat;
|
|
39
|
+
this.timeToLiveSeconds = nearCacheConfig.timeToLiveSeconds;
|
|
40
|
+
this.evictionPolicy = nearCacheConfig.evictionPolicy;
|
|
41
|
+
this.evictionMaxSize = nearCacheConfig.evictionMaxSize;
|
|
42
|
+
this.evictionSamplingCount = nearCacheConfig.evictionSamplingCount;
|
|
43
|
+
this.evictionSamplingPoolSize = nearCacheConfig.evictionSamplingPoolSize;
|
|
44
|
+
if (this.evictionPolicy === EvictionPolicy_1.EvictionPolicy.LFU) {
|
|
45
|
+
this.compareFunc = DataRecord_1.DataRecord.lfuComp;
|
|
46
|
+
}
|
|
47
|
+
else if (this.evictionPolicy === EvictionPolicy_1.EvictionPolicy.LRU) {
|
|
48
|
+
this.compareFunc = DataRecord_1.DataRecord.lruComp;
|
|
49
|
+
}
|
|
50
|
+
else if (this.evictionPolicy === EvictionPolicy_1.EvictionPolicy.RANDOM) {
|
|
51
|
+
this.compareFunc = DataRecord_1.DataRecord.randomComp;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.compareFunc = undefined;
|
|
55
|
+
}
|
|
56
|
+
this.evictionCandidatePool = [];
|
|
57
|
+
this.internalStore = new DataStoreHashMap_1.DataKeyedHashMap();
|
|
58
|
+
this.ready = Util_1.DeferredPromise();
|
|
59
|
+
}
|
|
60
|
+
NearCacheImpl.prototype.setReady = function () {
|
|
61
|
+
this.ready.resolve();
|
|
62
|
+
};
|
|
63
|
+
NearCacheImpl.prototype.getName = function () {
|
|
64
|
+
return this.name;
|
|
65
|
+
};
|
|
66
|
+
NearCacheImpl.prototype.nextReservationId = function () {
|
|
67
|
+
var res = this.reservationCounter;
|
|
68
|
+
this.reservationCounter = this.reservationCounter.add(1);
|
|
69
|
+
return res;
|
|
70
|
+
};
|
|
71
|
+
NearCacheImpl.prototype.tryReserveForUpdate = function (key) {
|
|
72
|
+
var internalRecord = this.internalStore.get(key);
|
|
73
|
+
var resId = this.nextReservationId();
|
|
74
|
+
if (internalRecord === undefined) {
|
|
75
|
+
this.doEvictionIfRequired();
|
|
76
|
+
var dr = new DataRecord_1.DataRecord(key, undefined, undefined, this.timeToLiveSeconds);
|
|
77
|
+
dr.casStatus(DataRecord_1.DataRecord.READ_PERMITTED, resId);
|
|
78
|
+
this.internalStore.set(key, dr);
|
|
79
|
+
return resId;
|
|
80
|
+
}
|
|
81
|
+
if (internalRecord.casStatus(DataRecord_1.DataRecord.READ_PERMITTED, resId)) {
|
|
82
|
+
return resId;
|
|
83
|
+
}
|
|
84
|
+
return DataRecord_1.DataRecord.NOT_RESERVED;
|
|
85
|
+
};
|
|
86
|
+
NearCacheImpl.prototype.tryPublishReserved = function (key, value, reservationId) {
|
|
87
|
+
var internalRecord = this.internalStore.get(key);
|
|
88
|
+
if (internalRecord && internalRecord.casStatus(reservationId, DataRecord_1.DataRecord.READ_PERMITTED)) {
|
|
89
|
+
if (this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.OBJECT) {
|
|
90
|
+
internalRecord.value = this.serializationService.toObject(value);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
internalRecord.value = this.serializationService.toData(value);
|
|
94
|
+
}
|
|
95
|
+
internalRecord.setCreationTime();
|
|
96
|
+
this.initInvalidationMetadata(internalRecord);
|
|
97
|
+
}
|
|
98
|
+
else if (internalRecord === undefined) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.BINARY) {
|
|
103
|
+
return this.serializationService.toObject(internalRecord.value);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
return internalRecord.value;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
NearCacheImpl.prototype.setStaleReadDetector = function (staleReadDetector) {
|
|
111
|
+
this.staleReadDetector = staleReadDetector;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Creates a new {DataRecord} for given key and value. Then, puts the record in near cache.
|
|
115
|
+
* If the number of records in near cache exceeds {evictionMaxSize}, it removes expired items first.
|
|
116
|
+
* If there is no expired item, it triggers an invalidation process to create free space.
|
|
117
|
+
* @param key
|
|
118
|
+
* @param value
|
|
119
|
+
*/
|
|
120
|
+
NearCacheImpl.prototype.put = function (key, value) {
|
|
121
|
+
this.doEvictionIfRequired();
|
|
122
|
+
if (this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.OBJECT) {
|
|
123
|
+
value = this.serializationService.toObject(value);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
value = this.serializationService.toData(value);
|
|
127
|
+
}
|
|
128
|
+
var dr = new DataRecord_1.DataRecord(key, value, undefined, this.timeToLiveSeconds);
|
|
129
|
+
this.initInvalidationMetadata(dr);
|
|
130
|
+
this.internalStore.set(key, dr);
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
*
|
|
134
|
+
* @param key
|
|
135
|
+
* @returns the value if present in near cache, 'undefined' if not
|
|
136
|
+
*/
|
|
137
|
+
NearCacheImpl.prototype.get = function (key) {
|
|
138
|
+
var _this = this;
|
|
139
|
+
return this.ready.promise.then(function () {
|
|
140
|
+
var dr = _this.internalStore.get(key);
|
|
141
|
+
if (dr === undefined) {
|
|
142
|
+
_this.missCount++;
|
|
143
|
+
return undefined;
|
|
144
|
+
}
|
|
145
|
+
if (_this.staleReadDetector.isStaleRead(key, dr)) {
|
|
146
|
+
_this.internalStore.delete(key);
|
|
147
|
+
_this.missCount++;
|
|
148
|
+
return undefined;
|
|
149
|
+
}
|
|
150
|
+
if (dr.isExpired(_this.maxIdleSeconds)) {
|
|
151
|
+
_this.expireRecord(key);
|
|
152
|
+
_this.missCount++;
|
|
153
|
+
return undefined;
|
|
154
|
+
}
|
|
155
|
+
dr.setAccessTime();
|
|
156
|
+
dr.hitRecord();
|
|
157
|
+
_this.hitCount++;
|
|
158
|
+
if (_this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.BINARY) {
|
|
159
|
+
return _this.serializationService.toObject(dr.value);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
return dr.value;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
NearCacheImpl.prototype.invalidate = function (key) {
|
|
167
|
+
this.internalStore.delete(key);
|
|
168
|
+
};
|
|
169
|
+
NearCacheImpl.prototype.clear = function () {
|
|
170
|
+
this.internalStore.clear();
|
|
171
|
+
};
|
|
172
|
+
NearCacheImpl.prototype.isInvalidatedOnChange = function () {
|
|
173
|
+
return this.invalidateOnChange;
|
|
174
|
+
};
|
|
175
|
+
NearCacheImpl.prototype.getStatistics = function () {
|
|
176
|
+
var stats = {
|
|
177
|
+
creationTime: this.creationTime,
|
|
178
|
+
evictedCount: this.evictedCount,
|
|
179
|
+
expiredCount: this.expiredCount,
|
|
180
|
+
missCount: this.missCount,
|
|
181
|
+
hitCount: this.hitCount,
|
|
182
|
+
entryCount: this.internalStore.size,
|
|
183
|
+
};
|
|
184
|
+
return stats;
|
|
185
|
+
};
|
|
186
|
+
NearCacheImpl.prototype.isEvictionRequired = function () {
|
|
187
|
+
return this.evictionPolicy !== EvictionPolicy_1.EvictionPolicy.NONE && this.evictionMaxSize <= this.internalStore.size;
|
|
188
|
+
};
|
|
189
|
+
NearCacheImpl.prototype.doEvictionIfRequired = function () {
|
|
190
|
+
if (!this.isEvictionRequired()) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
var internalSize = this.internalStore.size;
|
|
194
|
+
if (this.recomputeEvictionPool() > 0) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
this.evictRecord(this.evictionCandidatePool[0].key);
|
|
199
|
+
this.evictionCandidatePool = this.evictionCandidatePool.slice(1);
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* @returns number of expired elements.
|
|
204
|
+
*/
|
|
205
|
+
NearCacheImpl.prototype.recomputeEvictionPool = function () {
|
|
206
|
+
var arr = Array.from(this.internalStore.values());
|
|
207
|
+
Util_1.shuffleArray(arr);
|
|
208
|
+
var newCandidates = arr.slice(0, this.evictionSamplingCount);
|
|
209
|
+
var cleanedNewCandidates = newCandidates.filter(this.filterExpiredRecord, this);
|
|
210
|
+
var expiredCount = newCandidates.length - cleanedNewCandidates.length;
|
|
211
|
+
if (expiredCount > 0) {
|
|
212
|
+
return expiredCount;
|
|
213
|
+
}
|
|
214
|
+
(_a = this.evictionCandidatePool).push.apply(_a, cleanedNewCandidates);
|
|
215
|
+
this.evictionCandidatePool.sort(this.compareFunc);
|
|
216
|
+
this.evictionCandidatePool = this.evictionCandidatePool.slice(0, this.evictionSamplingPoolSize);
|
|
217
|
+
return 0;
|
|
218
|
+
var _a;
|
|
219
|
+
};
|
|
220
|
+
NearCacheImpl.prototype.filterExpiredRecord = function (candidate) {
|
|
221
|
+
if (candidate.isExpired(this.maxIdleSeconds)) {
|
|
222
|
+
this.expireRecord(candidate.key);
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
NearCacheImpl.prototype.expireRecord = function (key) {
|
|
230
|
+
if (this.internalStore.delete(key)) {
|
|
231
|
+
this.expiredCount++;
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
NearCacheImpl.prototype.evictRecord = function (key) {
|
|
235
|
+
if (this.internalStore.delete(key)) {
|
|
236
|
+
this.evictedCount++;
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
NearCacheImpl.prototype.initInvalidationMetadata = function (dr) {
|
|
240
|
+
if (this.staleReadDetector === AlwaysFreshStaleReadDetectorImpl.INSTANCE) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
var partitionId = this.staleReadDetector.getPartitionId(dr.key);
|
|
244
|
+
var metadataContainer = this.staleReadDetector.getMetadataContainer(partitionId);
|
|
245
|
+
dr.setInvalidationSequence(metadataContainer.getSequence());
|
|
246
|
+
dr.setUuid(metadataContainer.getUuid());
|
|
247
|
+
};
|
|
248
|
+
return NearCacheImpl;
|
|
249
|
+
}());
|
|
250
|
+
exports.NearCacheImpl = NearCacheImpl;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { NearCache } from './NearCache';
|
|
2
|
+
import { SerializationService } from '../serialization/SerializationService';
|
|
3
|
+
import HazelcastClient from '../HazelcastClient';
|
|
4
|
+
export declare class NearCacheManager {
|
|
5
|
+
protected readonly serializationService: SerializationService;
|
|
6
|
+
private readonly caches;
|
|
7
|
+
private readonly client;
|
|
8
|
+
constructor(client: HazelcastClient);
|
|
9
|
+
getOrCreateNearCache(name: string): NearCache;
|
|
10
|
+
destroyNearCache(name: string): void;
|
|
11
|
+
destroyAllNearCaches(): void;
|
|
12
|
+
listAllNearCaches(): NearCache[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var NearCache_1 = require("./NearCache");
|
|
19
|
+
var NearCacheManager = /** @class */ (function () {
|
|
20
|
+
function NearCacheManager(client) {
|
|
21
|
+
this.caches = new Map();
|
|
22
|
+
this.client = client;
|
|
23
|
+
}
|
|
24
|
+
NearCacheManager.prototype.getOrCreateNearCache = function (name) {
|
|
25
|
+
var nearCache = this.caches.get(name);
|
|
26
|
+
if (nearCache == null) {
|
|
27
|
+
nearCache = new NearCache_1.NearCacheImpl(this.client.getConfig().getNearCacheConfig(name), this.client.getSerializationService());
|
|
28
|
+
this.caches.set(name, nearCache);
|
|
29
|
+
}
|
|
30
|
+
return nearCache;
|
|
31
|
+
};
|
|
32
|
+
NearCacheManager.prototype.destroyNearCache = function (name) {
|
|
33
|
+
var nearCache = this.caches.get(name);
|
|
34
|
+
if (nearCache != null) {
|
|
35
|
+
this.caches.delete(name);
|
|
36
|
+
nearCache.clear();
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
NearCacheManager.prototype.destroyAllNearCaches = function () {
|
|
40
|
+
for (var _i = 0, _a = Array.from(this.caches.keys()); _i < _a.length; _i++) {
|
|
41
|
+
var key = _a[_i];
|
|
42
|
+
this.destroyNearCache(key);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
NearCacheManager.prototype.listAllNearCaches = function () {
|
|
46
|
+
return Array.from(this.caches.values());
|
|
47
|
+
};
|
|
48
|
+
return NearCacheManager;
|
|
49
|
+
}());
|
|
50
|
+
exports.NearCacheManager = NearCacheManager;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="long" />
|
|
2
|
+
import * as Long from 'long';
|
|
3
|
+
import { UUID } from '../core/UUID';
|
|
4
|
+
import { PartitionService } from '../PartitionService';
|
|
5
|
+
import { Data } from '../serialization/Data';
|
|
6
|
+
import { MetadataContainer } from './MetadataContainer';
|
|
7
|
+
import { NearCache } from './NearCache';
|
|
8
|
+
export declare class RepairingHandler {
|
|
9
|
+
private readonly nearCache;
|
|
10
|
+
private readonly partitionCount;
|
|
11
|
+
private readonly partitionService;
|
|
12
|
+
private readonly localUuid;
|
|
13
|
+
private readonly name;
|
|
14
|
+
private containers;
|
|
15
|
+
constructor(name: string, partitionService: PartitionService, nearCache: NearCache, localUuid: string);
|
|
16
|
+
initUuid(partitionIdUuidPairsList: Array<[number, UUID]>): void;
|
|
17
|
+
initSequence(partitionIdSequencePairsList: [string, Array<[number, Long]>]): void;
|
|
18
|
+
handle(key: Data, sourceUuid: string, partitionUuid: UUID, sequence: Long): void;
|
|
19
|
+
handleBatch(keys: any[], sourceUuids: string[], partitionUuids: UUID[], sequences: Long[]): void;
|
|
20
|
+
checkOrRepairSequence(partitionId: number, nextSequence: Long, viaAntiEntropy?: boolean): void;
|
|
21
|
+
checkOrRepairUuid(partitionId: number, newuuid: UUID): void;
|
|
22
|
+
updateLastKnownStaleSequence(metadataContainer: MetadataContainer): void;
|
|
23
|
+
getMetadataContainer(partitionId: number): MetadataContainer;
|
|
24
|
+
getName(): string;
|
|
25
|
+
private getPartitionIdOrDefault(key);
|
|
26
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var MetadataContainer_1 = require("./MetadataContainer");
|
|
19
|
+
var RepairingHandler = /** @class */ (function () {
|
|
20
|
+
function RepairingHandler(name, partitionService, nearCache, localUuid) {
|
|
21
|
+
this.nearCache = nearCache;
|
|
22
|
+
this.name = name;
|
|
23
|
+
this.partitionService = partitionService;
|
|
24
|
+
this.partitionCount = this.partitionService.getPartitionCount();
|
|
25
|
+
this.localUuid = localUuid;
|
|
26
|
+
this.containers = [];
|
|
27
|
+
for (var i = 0; i < this.partitionCount; i++) {
|
|
28
|
+
this.containers[i] = new MetadataContainer_1.MetadataContainer();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
RepairingHandler.prototype.initUuid = function (partitionIdUuidPairsList) {
|
|
32
|
+
for (var _i = 0, partitionIdUuidPairsList_1 = partitionIdUuidPairsList; _i < partitionIdUuidPairsList_1.length; _i++) {
|
|
33
|
+
var item = partitionIdUuidPairsList_1[_i];
|
|
34
|
+
var partitionId = item[0];
|
|
35
|
+
var partitionUuid = item[1];
|
|
36
|
+
this.getMetadataContainer(partitionId).setUuid(partitionUuid);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
RepairingHandler.prototype.initSequence = function (partitionIdSequencePairsList) {
|
|
40
|
+
var list = partitionIdSequencePairsList[1];
|
|
41
|
+
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
|
|
42
|
+
var item = list_1[_i];
|
|
43
|
+
var partitionId = item[0];
|
|
44
|
+
var partitionSequence = item[1];
|
|
45
|
+
this.getMetadataContainer(partitionId).setSequence(partitionSequence);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
RepairingHandler.prototype.handle = function (key, sourceUuid, partitionUuid, sequence) {
|
|
49
|
+
if (this.localUuid !== sourceUuid) {
|
|
50
|
+
if (key == null) {
|
|
51
|
+
this.nearCache.clear();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.nearCache.invalidate(key);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
var partitionId = this.getPartitionIdOrDefault(key);
|
|
58
|
+
this.checkOrRepairSequence(partitionId, sequence);
|
|
59
|
+
this.checkOrRepairUuid(partitionId, partitionUuid);
|
|
60
|
+
};
|
|
61
|
+
RepairingHandler.prototype.handleBatch = function (keys, sourceUuids, partitionUuids, sequences) {
|
|
62
|
+
for (var i = 0; i < keys.length; i++) {
|
|
63
|
+
this.handle(keys[i], sourceUuids[i], partitionUuids[i], sequences[i]);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
RepairingHandler.prototype.checkOrRepairSequence = function (partitionId, nextSequence, viaAntiEntropy) {
|
|
67
|
+
if (viaAntiEntropy === void 0) { viaAntiEntropy = false; }
|
|
68
|
+
var metadata = this.getMetadataContainer(partitionId);
|
|
69
|
+
var current = metadata.getSequence();
|
|
70
|
+
if (current.greaterThanOrEqual(nextSequence)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
metadata.setSequence(nextSequence);
|
|
74
|
+
var missed = nextSequence.subtract(current);
|
|
75
|
+
if (!viaAntiEntropy) {
|
|
76
|
+
missed = missed.subtract(1);
|
|
77
|
+
}
|
|
78
|
+
if (missed.greaterThan(0)) {
|
|
79
|
+
metadata.increaseMissedSequenceCount(missed);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
RepairingHandler.prototype.checkOrRepairUuid = function (partitionId, newuuid) {
|
|
83
|
+
var metadata = this.getMetadataContainer(partitionId);
|
|
84
|
+
var currentUuid = metadata.getUuid();
|
|
85
|
+
if (currentUuid != null && currentUuid.equals(newuuid)) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
metadata.setUuid(newuuid);
|
|
89
|
+
metadata.reset();
|
|
90
|
+
};
|
|
91
|
+
RepairingHandler.prototype.updateLastKnownStaleSequence = function (metadataContainer) {
|
|
92
|
+
var lastStaleSequence = metadataContainer.getStaleSequence();
|
|
93
|
+
var lastSequence = metadataContainer.getSequence();
|
|
94
|
+
if (lastStaleSequence.lessThan(lastSequence)) {
|
|
95
|
+
metadataContainer.setStaleSequence(lastSequence);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
RepairingHandler.prototype.getMetadataContainer = function (partitionId) {
|
|
99
|
+
return this.containers[partitionId];
|
|
100
|
+
};
|
|
101
|
+
RepairingHandler.prototype.getName = function () {
|
|
102
|
+
return this.name;
|
|
103
|
+
};
|
|
104
|
+
RepairingHandler.prototype.getPartitionIdOrDefault = function (key) {
|
|
105
|
+
if (key != null) {
|
|
106
|
+
return this.partitionService.getPartitionId(key);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return this.partitionService.getPartitionId(this.name);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
return RepairingHandler;
|
|
113
|
+
}());
|
|
114
|
+
exports.RepairingHandler = RepairingHandler;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="bluebird" />
|
|
2
|
+
import HazelcastClient from '../HazelcastClient';
|
|
3
|
+
import { NearCache } from './NearCache';
|
|
4
|
+
import { RepairingHandler } from './RepairingHandler';
|
|
5
|
+
import * as Promise from 'bluebird';
|
|
6
|
+
export declare class RepairingTask {
|
|
7
|
+
private antientropyTaskHandle;
|
|
8
|
+
private handlers;
|
|
9
|
+
private reconcilliationInterval;
|
|
10
|
+
private maxToleratedMissCount;
|
|
11
|
+
private localUuid;
|
|
12
|
+
private metadataFetcher;
|
|
13
|
+
private client;
|
|
14
|
+
private partitionCount;
|
|
15
|
+
private readonly minAllowedReconciliationSeconds;
|
|
16
|
+
private readonly logger;
|
|
17
|
+
constructor(client: HazelcastClient);
|
|
18
|
+
registerAndGetHandler(objectName: string, nearCache: NearCache): Promise<RepairingHandler>;
|
|
19
|
+
deregisterHandler(objectName: string): void;
|
|
20
|
+
start(): void;
|
|
21
|
+
shutdown(): void;
|
|
22
|
+
antiEntropyTask(): void;
|
|
23
|
+
private isAboveMaxToleratedMissCount(handler);
|
|
24
|
+
private updateLastKnownStaleSequences(handler);
|
|
25
|
+
private getReconciliationIntervalMillis(seconds);
|
|
26
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var assert = require("assert");
|
|
19
|
+
var Long = require("long");
|
|
20
|
+
var MetadataFetcher_1 = require("./MetadataFetcher");
|
|
21
|
+
var RepairingHandler_1 = require("./RepairingHandler");
|
|
22
|
+
var Promise = require("bluebird");
|
|
23
|
+
var PROPERTY_MAX_RECONCILIATION_INTERVAL_SECONDS = 'hazelcast.invalidation.reconciliation.interval.seconds';
|
|
24
|
+
var PROPERTY_MIN_RECONCILIATION_INTERVAL_SECONDS = 'hazelcast.invalidation.min.reconciliation.interval.seconds';
|
|
25
|
+
var PROPERTY_MAX_TOLERATED_MISS_COUNT = 'hazelcast.invalidation.max.tolerated.miss.count';
|
|
26
|
+
var RepairingTask = /** @class */ (function () {
|
|
27
|
+
function RepairingTask(client) {
|
|
28
|
+
this.client = client;
|
|
29
|
+
this.logger = this.client.getLoggingService().getLogger();
|
|
30
|
+
var config = this.client.getConfig();
|
|
31
|
+
this.minAllowedReconciliationSeconds = config.properties[PROPERTY_MIN_RECONCILIATION_INTERVAL_SECONDS];
|
|
32
|
+
var requestedReconciliationSeconds = config.properties[PROPERTY_MAX_RECONCILIATION_INTERVAL_SECONDS];
|
|
33
|
+
this.reconcilliationInterval = this.getReconciliationIntervalMillis(requestedReconciliationSeconds);
|
|
34
|
+
this.handlers = new Map();
|
|
35
|
+
this.localUuid = this.client.getLocalEndpoint().uuid;
|
|
36
|
+
this.maxToleratedMissCount = config.properties[PROPERTY_MAX_TOLERATED_MISS_COUNT];
|
|
37
|
+
this.metadataFetcher = new MetadataFetcher_1.MetadataFetcher(client);
|
|
38
|
+
this.partitionCount = this.client.getPartitionService().getPartitionCount();
|
|
39
|
+
}
|
|
40
|
+
RepairingTask.prototype.registerAndGetHandler = function (objectName, nearCache) {
|
|
41
|
+
var _this = this;
|
|
42
|
+
var handler = this.handlers.get(objectName);
|
|
43
|
+
if (handler !== undefined) {
|
|
44
|
+
return Promise.resolve(handler);
|
|
45
|
+
}
|
|
46
|
+
handler = new RepairingHandler_1.RepairingHandler(objectName, this.client.getPartitionService(), nearCache, this.localUuid);
|
|
47
|
+
return this.metadataFetcher.initHandler(handler).then(function () {
|
|
48
|
+
_this.handlers.set(objectName, handler);
|
|
49
|
+
if (_this.antientropyTaskHandle === undefined) {
|
|
50
|
+
_this.start();
|
|
51
|
+
}
|
|
52
|
+
return handler;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
RepairingTask.prototype.deregisterHandler = function (objectName) {
|
|
56
|
+
this.handlers.delete(objectName);
|
|
57
|
+
};
|
|
58
|
+
RepairingTask.prototype.start = function () {
|
|
59
|
+
assert(this.reconcilliationInterval > 0);
|
|
60
|
+
this.antientropyTaskHandle = setInterval(this.antiEntropyTask.bind(this), this.reconcilliationInterval);
|
|
61
|
+
};
|
|
62
|
+
RepairingTask.prototype.shutdown = function () {
|
|
63
|
+
if (this.antientropyTaskHandle != null) {
|
|
64
|
+
clearInterval(this.antientropyTaskHandle);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
RepairingTask.prototype.antiEntropyTask = function () {
|
|
68
|
+
var _this = this;
|
|
69
|
+
if (this.client.getLifecycleService().isRunning()) {
|
|
70
|
+
this.handlers.forEach(function (handler) {
|
|
71
|
+
if (_this.isAboveMaxToleratedMissCount(handler)) {
|
|
72
|
+
_this.updateLastKnownStaleSequences(handler);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
this.metadataFetcher.fetchMetadata(this.handlers);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.shutdown();
|
|
79
|
+
this.logger.debug('RepairingTask', 'Anti entropy task was on although client was not running.' +
|
|
80
|
+
'Anti entropy task was shutdown forcibly.');
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
RepairingTask.prototype.isAboveMaxToleratedMissCount = function (handler) {
|
|
84
|
+
var totalMissCount = Long.fromNumber(0);
|
|
85
|
+
for (var i = 0; i < this.partitionCount; i++) {
|
|
86
|
+
var added = handler.getMetadataContainer(i).getMissedSequenceCount();
|
|
87
|
+
totalMissCount = totalMissCount.add(added);
|
|
88
|
+
if (totalMissCount.greaterThanOrEqual(this.maxToleratedMissCount)) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
};
|
|
94
|
+
RepairingTask.prototype.updateLastKnownStaleSequences = function (handler) {
|
|
95
|
+
for (var i = 0; i < this.partitionCount; i++) {
|
|
96
|
+
var container = handler.getMetadataContainer(i);
|
|
97
|
+
var missedCount = container.getMissedSequenceCount();
|
|
98
|
+
if (missedCount.notEquals(0)) {
|
|
99
|
+
container.increaseMissedSequenceCount(missedCount.negate());
|
|
100
|
+
handler.updateLastKnownStaleSequence(container);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
RepairingTask.prototype.getReconciliationIntervalMillis = function (seconds) {
|
|
105
|
+
if (seconds === 0 || seconds >= this.minAllowedReconciliationSeconds) {
|
|
106
|
+
return seconds * 1000;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
var message = 'Reconciliation interval can be at least ' + this.minAllowedReconciliationSeconds + ' seconds ' +
|
|
110
|
+
'if not 0. Configured interval is ' + seconds + ' seconds. ' +
|
|
111
|
+
'Note: configuring a value of 0 seconds disables the reconciliation task.';
|
|
112
|
+
throw new RangeError(message);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
return RepairingTask;
|
|
116
|
+
}());
|
|
117
|
+
exports.RepairingTask = RepairingTask;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataRecord } from './DataRecord';
|
|
2
|
+
import { MetadataContainer } from './MetadataContainer';
|
|
3
|
+
export interface StaleReadDetector {
|
|
4
|
+
isStaleRead(key: any, record: DataRecord): boolean;
|
|
5
|
+
getPartitionId(key: any): number;
|
|
6
|
+
getMetadataContainer(partitionId: number): MetadataContainer;
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PartitionService } from '../PartitionService';
|
|
2
|
+
import { DataRecord } from './DataRecord';
|
|
3
|
+
import { MetadataContainer } from './MetadataContainer';
|
|
4
|
+
import { RepairingHandler } from './RepairingHandler';
|
|
5
|
+
import { StaleReadDetector } from './StaleReadDetector';
|
|
6
|
+
export declare class StaleReadDetectorImpl implements StaleReadDetector {
|
|
7
|
+
private readonly repairingHandler;
|
|
8
|
+
private readonly partitionService;
|
|
9
|
+
constructor(handler: RepairingHandler, partitionService: PartitionService);
|
|
10
|
+
isStaleRead(key: any, record: DataRecord): boolean;
|
|
11
|
+
getMetadataContainer(partitionId: number): MetadataContainer;
|
|
12
|
+
getPartitionId(key: any): number;
|
|
13
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
var StaleReadDetectorImpl = /** @class */ (function () {
|
|
19
|
+
function StaleReadDetectorImpl(handler, partitionService) {
|
|
20
|
+
this.repairingHandler = handler;
|
|
21
|
+
this.partitionService = partitionService;
|
|
22
|
+
}
|
|
23
|
+
StaleReadDetectorImpl.prototype.isStaleRead = function (key, record) {
|
|
24
|
+
var metadata = this.getMetadataContainer(this.getPartitionId(record.key));
|
|
25
|
+
return !record.hasSameUuid(metadata.getUuid()) || record.getInvalidationSequence().lessThan(metadata.getStaleSequence());
|
|
26
|
+
};
|
|
27
|
+
StaleReadDetectorImpl.prototype.getMetadataContainer = function (partitionId) {
|
|
28
|
+
return this.repairingHandler.getMetadataContainer(partitionId);
|
|
29
|
+
};
|
|
30
|
+
StaleReadDetectorImpl.prototype.getPartitionId = function (key) {
|
|
31
|
+
return this.partitionService.getPartitionId(key);
|
|
32
|
+
};
|
|
33
|
+
return StaleReadDetectorImpl;
|
|
34
|
+
}());
|
|
35
|
+
exports.StaleReadDetectorImpl = StaleReadDetectorImpl;
|