4/com/hazelcast/ringbuffer/impl/RingbufferServicejava/lang/Object com/hazelcast/spi/ManagedServicecom/hazelcast/spi/RemoteService1com/hazelcast/spi/FragmentedMigrationAwareService $com/hazelcast/spi/QuorumAwareService *com/hazelcast/spi/SplitBrainHandlerService RingbufferService.java6com/hazelcast/ringbuffer/impl/RingbufferService$MergerMerger1com/hazelcast/ringbuffer/impl/RingbufferService$1java/util/Map$Entry java/util/MapEntryTOPIC_RB_PREFIXLjava/lang/String;_hz_rb_ SERVICE_NAMEhz:impl:ringbufferService NULL_OBJECTLjava/lang/Object; containers$Ljava/util/concurrent/ConcurrentMap;Ljava/util/concurrent/ConcurrentMap;>;quorumConfigCacheJLjava/util/concurrent/ConcurrentMap;quorumConfigCacheMutexFactory(Lcom/hazelcast/util/ContextMutexFactory;quorumConfigConstructor(Lcom/hazelcast/util/ConstructorFunction;NLcom/hazelcast/util/ConstructorFunction; nodeEngineLcom/hazelcast/spi/NodeEngine;serializationService6Lcom/hazelcast/spi/serialization/SerializationService;partitionService/Lcom/hazelcast/spi/partition/IPartitionService; quorumService$Lcom/hazelcast/quorum/QuorumService;*(Lcom/hazelcast/spi/impl/NodeEngineImpl;)V()V 57 8&java/util/concurrent/ConcurrentHashMap: ;8 #$ = &$ ?&com/hazelcast/util/ContextMutexFactoryA B8 () D4(Lcom/hazelcast/ringbuffer/impl/RingbufferService;)V 5F G *+ Iinit7(Lcom/hazelcast/spi/NodeEngine;Ljava/util/Properties;)V KL Mthis1Lcom/hazelcast/ringbuffer/impl/RingbufferService;'Lcom/hazelcast/spi/impl/NodeEngineImpl;nodeEngine can't be nullR com/hazelcast/util/PreconditionsT checkNotNull8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; VW UXcom/hazelcast/spi/NodeEngineZ -. \getSerializationService8()Lcom/hazelcast/spi/serialization/SerializationService; ^_ [` /0 bgetPartitionService1()Lcom/hazelcast/spi/partition/IPartitionService; de [f 12 hgetQuorumService&()Lcom/hazelcast/quorum/QuorumService; jk [l 34 n propertiesLjava/util/Properties; getContainers&()Ljava/util/concurrent/ConcurrentMap;()Ljava/util/concurrent/ConcurrentMap;>;createDistributedObject:(Ljava/lang/String;)Lcom/hazelcast/core/DistributedObject;getRingbufferConfig;(Ljava/lang/String;)Lcom/hazelcast/config/RingbufferConfig; wx y getSplitBrainMergePolicyProvider9()Lcom/hazelcast/spi/merge/SplitBrainMergePolicyProvider; {| [}-com/hazelcast/internal/config/ConfigValidatorcheckRingbufferConfiga(Lcom/hazelcast/config/RingbufferConfig;Lcom/hazelcast/spi/merge/SplitBrainMergePolicyProvider;)V -com/hazelcast/ringbuffer/impl/RingbufferProxy(Lcom/hazelcast/spi/NodeEngine;Lcom/hazelcast/ringbuffer/impl/RingbufferService;Ljava/lang/String;Lcom/hazelcast/config/RingbufferConfig;)V 5  objectNameringbufferConfig'Lcom/hazelcast/config/RingbufferConfig;destroyDistributedObject(Ljava/lang/String;)VgetRingbufferPartitionId(Ljava/lang/String;)I getRingbufferNamespace7(Ljava/lang/String;)Lcom/hazelcast/spi/ObjectNamespace; destroyContainer'(ILcom/hazelcast/spi/ObjectNamespace;)V getEventService"()Lcom/hazelcast/spi/EventService; [com/hazelcast/spi/EventServicederegisterAllListeners'(Ljava/lang/String;Ljava/lang/String;)V "java/util/concurrent/ConcurrentMapremove&(Ljava/lang/Object;)Ljava/lang/Object; namejava/lang/IntegervalueOf(I)Ljava/lang/Integer; get  partitionIdI namespace#Lcom/hazelcast/spi/ObjectNamespace;partitionContainersgLjava/util/Map;Ljava/util/Map;resetclear 7 shutdown(Z)V 7  terminateZgetOrCreateContainer(ILcom/hazelcast/spi/ObjectNamespace;Lcom/hazelcast/config/RingbufferConfig;)Lcom/hazelcast/ringbuffer/impl/RingbufferContainer;(ILcom/hazelcast/spi/ObjectNamespace;Lcom/hazelcast/config/RingbufferConfig;)Lcom/hazelcast/ringbuffer/impl/RingbufferContainer;java/lang/NullPointerExceptionERingbuffer config should not be null when ringbuffer is being created 5 getOrCreateRingbufferContainers(I)Ljava/util/Map;  1com/hazelcast/ringbuffer/impl/RingbufferContainerl(Lcom/hazelcast/spi/ObjectNamespace;Lcom/hazelcast/config/RingbufferConfig;Lcom/hazelcast/spi/NodeEngine;I)V 5 getStore8()Lcom/hazelcast/ringbuffer/impl/RingbufferStoreWrapper; 4com/hazelcast/ringbuffer/impl/RingbufferStoreWrapper instrument!(Lcom/hazelcast/spi/NodeEngine;)V put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; config ringbuffer;Lcom/hazelcast/ringbuffer/impl/RingbufferContainer;3Lcom/hazelcast/ringbuffer/impl/RingbufferContainer;getContainerOrNullY(ILcom/hazelcast/spi/ObjectNamespace;)Lcom/hazelcast/ringbuffer/impl/RingbufferContainer;(ILcom/hazelcast/spi/ObjectNamespace;)Lcom/hazelcast/ringbuffer/impl/RingbufferContainer;j(I)Ljava/util/Map;java/util/HashMap 8 putIfAbsent partitionContainer getConfig()Lcom/hazelcast/config/Config; [ getConfigName&(Ljava/lang/String;)Ljava/lang/String; com/hazelcast/config/ConfigfindRingbufferConfig x Lcom/hazelcast/config/Config;,com/hazelcast/spi/DistributedObjectNamespace 5 ;com/hazelcast/partition/strategy/StringPartitioningStrategy INSTANCE=Lcom/hazelcast/partition/strategy/StringPartitioningStrategy;     4com/hazelcast/spi/serialization/SerializationServicetoDatac(Ljava/lang/Object;Lcom/hazelcast/core/PartitioningStrategy;)Lcom/hazelcast/nio/serialization/Data;  -com/hazelcast/spi/partition/IPartitionServicegetPartitionId)(Lcom/hazelcast/nio/serialization/Data;)I  ringbufferNamepartitionAwareData&Lcom/hazelcast/nio/serialization/Data; addRingbuffer^(ILcom/hazelcast/ringbuffer/impl/RingbufferContainer;Lcom/hazelcast/config/RingbufferConfig;)Vringbuffer can't be null H(Lcom/hazelcast/config/RingbufferConfig;Lcom/hazelcast/spi/NodeEngine;)V K" # getNamespace%()Lcom/hazelcast/spi/ObjectNamespace; %& 'beforeMigration.(Lcom/hazelcast/spi/PartitionMigrationEvent;)VpartitionMigrationEvent+Lcom/hazelcast/spi/PartitionMigrationEvent;prepareReplicationOperationL(Lcom/hazelcast/spi/PartitionReplicationEvent;)Lcom/hazelcast/spi/Operation;getAllServiceNamespacesE(Lcom/hazelcast/spi/PartitionReplicationEvent;)Ljava/util/Collection; /0 1b(Lcom/hazelcast/spi/PartitionReplicationEvent;Ljava/util/Collection;)Lcom/hazelcast/spi/Operation; -3 4event-Lcom/hazelcast/spi/PartitionReplicationEvent;(Lcom/hazelcast/spi/PartitionReplicationEvent;Ljava/util/Collection;)Lcom/hazelcast/spi/Operation;+com/hazelcast/spi/PartitionReplicationEvent9()I ; :<com/hazelcast/util/MapUtil> isNullOrEmpty(Ljava/util/Map;)Z @A ?Bjava/util/CollectionDiterator()Ljava/util/Iterator; FG EHjava/util/IteratorJhasNext()Z LM KNnext()Ljava/lang/Object; PQ KR"com/hazelcast/spi/ServiceNamespaceT!com/hazelcast/spi/ObjectNamespaceV)()Lcom/hazelcast/config/RingbufferConfig; X Y%com/hazelcast/config/RingbufferConfig[getTotalBackupCount ]; \^getReplicaIndex `; :aisEmpty cM d=com/hazelcast/ringbuffer/impl/operations/ReplicationOperationf(Ljava/util/Map;II)V 5h gins container$Lcom/hazelcast/spi/ServiceNamespace; namespaces;Ljava/util/Collection; migrationDatacommitMigration)com/hazelcast/spi/PartitionMigrationEventsgetMigrationEndpoint1()Lcom/hazelcast/spi/partition/MigrationEndpoint; uv tw-com/hazelcast/spi/partition/MigrationEndpointySOURCE/Lcom/hazelcast/spi/partition/MigrationEndpoint; {| z} t<getNewReplicaIndex ; t+clearRingbuffersHavingLesserBackupCountThan(II)V  rollbackMigration DESTINATION | zgetCurrentReplicaIndex ; tentrySet()Ljava/util/Set;   java/util/Set HgetValue Q  7 KentrymLjava/util/Map$Entry;Ljava/util/Map$Entry;thresholdReplicaIndexLjava/util/Iterator;>;Ljava/util/Iterator;k(Lcom/hazelcast/spi/PartitionReplicationEvent;)Ljava/util/Collection;java/util/Collections emptyList()Ljava/util/List;  java/util/HashSet 8values()Ljava/util/Collection;  add(Ljava/lang/Object;)Z  5Ljava/util/Set;Ljava/util/Set;isKnownServiceNamespace'(Lcom/hazelcast/spi/ServiceNamespace;)Z getQuorumName"com/hazelcast/util/ConcurrencyUtilgetOrPutSynchronized(Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Lcom/hazelcast/util/ContextMutexFactory;Lcom/hazelcast/util/ConstructorFunction;)Ljava/lang/Object;   !" java/lang/String quorumNameensureQuorumPresent6(Ljava/lang/String;Lcom/hazelcast/quorum/QuorumType;)V  "com/hazelcast/quorum/QuorumService  distributedObjectNamerequiredQuorumPermissionType!Lcom/hazelcast/quorum/QuorumType;prepareMergeRunnable()Ljava/lang/Runnable;:com/hazelcast/ringbuffer/impl/RingbufferContainerCollector0(Lcom/hazelcast/spi/NodeEngine;Ljava/util/Map;)V 5 run 7 p(Lcom/hazelcast/ringbuffer/impl/RingbufferService;Lcom/hazelcast/ringbuffer/impl/RingbufferContainerCollector;)V 5  collector ConstantValue SignatureCodeLineNumberTableLocalVariableTable StackMapTableLocalVariableTypeTable InnerClasses SourceFile!   !"#$%&$'()*+,-./01234568*9*;Y<>*;Y<@*BYCE*Y*HJ*+Nr]`a%b1s7t8OP8-QKLz,*+SY[]*+ac*+gi*+mox yz!{+| ,OP,-.,pqrs/*> OPtuvh"*+zM,*]~Y*]*+, "OP"j***++*] +*@+W )*OP**>N--,W*OP 78 *>    OP=*ı OPT- YͷϿ*:,:Y,-*]:*],W * "'*:FQ>TOPTTT?"2?"2$*>N--,֧ "@ *$OP$$ ;*>M,*>YW*>** ;OP;* *wxU*]M,+   OP  5 Y *  [*c+M*i,  OP -,!YW,-*]$,*]*,(,W,*-OP---)*5OP+,-.? *+*+25 OP 67-3 +=>*>:CY:,I:OGSU:W::   Z_+b WegY+=+bj!KJ :!*HO]q} \ O.k] l H5mOP67np*tq no*tq8r*\+x~*++ OP6,*\+x*++ OP6,?i*>N- -e-:O5S::Z_ DZ K1. ",#6$B%N&^'e)h*HB#NliOPiiX,=F B#X,=F/0:x+==*>N- -eY:-I:O1S:Z_+b(W#K'. ./0#1'304S5b6e8r9u:>SlxOPx67sb0Hnb0Hn9+W?OPmu!*@+*E*JM,, C DF !OP!"R*o*+, JK OPZY*]*>L+ֻY*+ٰOPQOP P*ߙ *K*y z| /*]H PQH7# Y9V