4.com/hazelcast/transaction/impl/TransactionImpljava/lang/Object*com/hazelcast/transaction/impl/TransactionTransactionImpl.java0com/hazelcast/transaction/impl/TransactionImpl$1.com/hazelcast/util/FutureUtil$ExceptionHandler com/hazelcast/util/FutureUtil ExceptionHandler;rollbackExceptionHandler0Lcom/hazelcast/util/FutureUtil$ExceptionHandler;rollbackTxExceptionHandlerreplicationTxExceptionHandlertransactionManagerService>Lcom/hazelcast/transaction/impl/TransactionManagerServiceImpl; nodeEngineLcom/hazelcast/spi/NodeEngine;txnIdLjava/lang/String; durabilityItransactionType>Lcom/hazelcast/transaction/TransactionOptions$TransactionType;checkThreadAccessZloggerLcom/hazelcast/logging/ILogger; txOwnerUuidtransactionLog/Lcom/hazelcast/transaction/impl/TransactionLog;threadIdLjava/lang/Long; timeoutMillisJstate2Lcom/hazelcast/transaction/impl/Transaction$State; startTimebackupAddressesbackupLogsCreatedoriginatedFromClient(Lcom/hazelcast/transaction/impl/TransactionManagerServiceImpl;Lcom/hazelcast/spi/NodeEngine;Lcom/hazelcast/transaction/TransactionOptions;Ljava/lang/String;)V(Lcom/hazelcast/transaction/impl/TransactionManagerServiceImpl;Lcom/hazelcast/spi/NodeEngine;Lcom/hazelcast/transaction/TransactionOptions;Ljava/lang/String;Z)V ;= >this0Lcom/hazelcast/transaction/impl/TransactionImpl;options.Lcom/hazelcast/transaction/TransactionOptions;()V ;D ENO_TXN G6 H 56 J  L 8 N-com/hazelcast/transaction/impl/TransactionLogP QE /0 S ! U "# Wcom/hazelcast/util/UuidUtilYnewUnsecureUuidString()Ljava/lang/String; [\ Z] $% _getTimeoutMillis()J ab c 34 egetTransactionType@()Lcom/hazelcast/transaction/TransactionOptions$TransactionType; gh iLOCAL k) l ONE_PHASE n) o;JJLjava/lang/String;)V(Ljava/util/Collection;)V ; Q 74  TWO_PHASE ) PREPARED 6 GLjava/util/List;Ljava/util/List;getTxnId getStartTime getOwnerUuidisOriginatedFromClient()ZgetState4()Lcom/hazelcast/transaction/impl/Transaction$State;getTransactionLog1()Lcom/hazelcast/transaction/impl/TransactionLog;add8(Lcom/hazelcast/transaction/impl/TransactionLogRecord;)VACTIVE 6 7com/hazelcast/transaction/TransactionNotActiveExceptionTransaction is not active!(Ljava/lang/String;)V ;  checkThread D  Qrecord5Lcom/hazelcast/transaction/impl/TransactionLogRecord;getI(Ljava/lang/Object;)Lcom/hazelcast/transaction/impl/TransactionLogRecord; QkeyLjava/lang/Object;remove(Ljava/lang/Object;)V Q 12 java/lang/Long longValue b java/lang/Thread currentThread()Ljava/lang/Thread; getId b java/lang/IllegalStateException)Transaction cannot span multiple threads! beginTransaction is already active  java/lang/ThreadLocal()Ljava/lang/Object;  $Nested transactions are not allowed!com/hazelcast/util/ClockcurrentTimeMillis b  pickBackupLogAddresses(I)[Lcom/hazelcast/nio/Address;   r valueOf(J)Ljava/lang/Long;  java/lang/BooleanTRUELjava/lang/Boolean;   setThreadFlag(Ljava/lang/Boolean;)V   startCount.Lcom/hazelcast/internal/util/counters/Counter;  r,com/hazelcast/internal/util/counters/Counter!inc #b "$set & 'flagprepare.com/hazelcast/transaction/TransactionException+java/lang/Throwable-Transaction is not active/ checkTimeout 1D 2createBackupLogs 4D 5 PREPARING 76 80(Lcom/hazelcast/spi/NodeEngine;)Ljava/util/List; *: Q;java/util/concurrent/TimeUnit= MILLISECONDSLjava/util/concurrent/TimeUnit; ?@ >ARETHROW_TRANSACTION_EXCEPTION C D!waitUntilAllRespondedWithDeadlinei(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;Lcom/hazelcast/util/FutureUtil$ExceptionHandler;)V FG HreplicateTxnLog JD K com/hazelcast/util/ExceptionUtilMrethrowD(Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/RuntimeException; OP NQfutures/Ljava/util/List;eLjava/lang/Throwable;requiresPreparesize Xz QYcommitTransaction is not prepared\%Transaction is not prepared or active^ COMMITTING `6 a [: QcwaitWithDeadline gG h COMMITTED j6 konCommitSuccess mD Qn commitCount p rqpurgeBackupLogs sD t COMMIT_FAILED v6 wonCommitFailure yD QzTransaction is timed-out!| ,rollback ROLLED_BACK 6  ROLLING_BACK 6 rollbackBackupLogs D  : Q rollbackCount  r3(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; O NskipBackupLogReplication  getOperationService&()Lcom/hazelcast/spi/OperationService;  tgetClusterService1()Lcom/hazelcast/internal/cluster/ClusterService;  tjava/util/ArrayList(I)V ; "com/hazelcast/spi/OperationService-com/hazelcast/internal/cluster/ClusterServicejava/util/List getMember@(Lcom/hazelcast/nio/Address;)Lcom/hazelcast/instance/MemberImpl;  #createReplicateTxBackupLogOperationK()Lcom/hazelcast/transaction/impl/operations/ReplicateTxBackupLogOperation;  hz:core:txManagerServiceinvokeOnTargety(Ljava/lang/String;Lcom/hazelcast/spi/Operation;Lcom/hazelcast/nio/Address;)Lcom/hazelcast/spi/InternalCompletableFuture;  (Ljava/lang/Object;)Z  opLcom/hazelcast/spi/Operation;fLjava/util/concurrent/Future; backupAddressLcom/hazelcast/nio/Address;operationService$Lcom/hazelcast/spi/OperationService;clusterService/Lcom/hazelcast/internal/cluster/ClusterService;ensureBackupLogsExist 9+ forceCreateBackupLogs D  createCreateTxBackupLogOperationH()Lcom/hazelcast/transaction/impl/operations/CreateTxBackupLogOperation;  FLcom/hazelcast/transaction/impl/operations/CreateTxBackupLogOperation;"createRollbackTxBackupLogOperationJ()Lcom/hazelcast/transaction/impl/operations/RollbackTxBackupLogOperation;  createPurgeTxBackupLogOperationG()Lcom/hazelcast/transaction/impl/operations/PurgeTxBackupLogOperation;  com/hazelcast/nio/AddressError during purging backups!com/hazelcast/logging/ILoggerwarning*(Ljava/lang/String;Ljava/lang/Throwable;)V  Dcom/hazelcast/transaction/impl/operations/CreateTxBackupLogOperation'(Ljava/lang/String;Ljava/lang/String;)V ; Gcom/hazelcast/transaction/impl/operations/ReplicateTxBackupLogOperation getRecords()Ljava/util/Collection;  Q?(Ljava/util/Collection;Ljava/lang/String;Ljava/lang/String;JJ)V ; Fcom/hazelcast/transaction/impl/operations/RollbackTxBackupLogOperation Ccom/hazelcast/transaction/impl/operations/PurgeTxBackupLogOperation toStringjava/lang/StringBuilder ETransaction{txnId='append-(Ljava/lang/String;)Ljava/lang/StringBuilder;  (C)Ljava/lang/StringBuilder;  , state=-(Ljava/lang/Object;)Ljava/lang/StringBuilder;   , txType=, timeoutMillis=(J)Ljava/lang/StringBuilder;   \  "(Lcom/hazelcast/logging/ILogger;)V ;  E SignatureCodeLineNumberTableLocalVariableTable StackMapTableLocalVariableTypeTable Exceptions InnerClasses SourceFile! !"#$%&'()*+,-.%/01234567489+:+$;<a *+,-? b c4 @A ! "# BC .%;= *F*IK*MO*QYRT*+V*,X*^`*-df*-jm p-jx**xp-|~*,**,********GrtvrtvQrtvVrtvvLrtvJfZ \gh"i'j.k6lNmdn}oqrstuv>@A !"#BC.%:+;\ *F*IK*MO*QYT*+V*,X*-`*f**~*x*K* **,*******N{Z \|}$~).4:?FMSXfvR@A !"#$%/3474.%  /\/*` @Ab/* @A\/* @A/* @A/*K @Aab/*f @A/*T @An!*K̥ Yзӿ**T+ر  !@A!= *T+ް @A A *T+  @A De**%** Y)) *@ADn*K̦ YY* **V*~O****̵K*V %X02 (/>ERY`m n@AT* +(@A)*DZ*K̥Y0ӿ**3*6*9K*T*XI]hlpw !"#$*+%&'(*+-.-./ (SUV@A (ST,1DW**fa ,Y}~235 @A,Dk*KI *KY0**K**T*XL+eB*i*u*K*V%X L+M*K*V%X,* N*-*Lc.*Licji C.E.G.V:;=#>*A.B:CHDLHSI`JcEdFiHqI~JLMLMN :SdUV@A :STJDQ **XL*XMY*ON*O:6692:,!*:+: - W-*fB*i.66 QRUVW)XEYPZV[e\nXt_`HVe  E)@Arh)[S )[STDU*Ś *O*ȱlmpq @A4DT*Ś **ȱtuxy @AD3 |**XLY*OM*ON-66@-2:*X!*:+:,W,*fB*i(=. |}~5HN]fl{>N] 51|@Am`S `STD? *Ś*XL*XMY*ON*O:6652:,+*:-W-*fB*i.22 )EPajp>a E%@And)WS )WSTsD/j*Ś*XL*XM*ON-66=-2:,&+*W:*±@PS.9*.2 5@PSUci4UUV5.j@AXNV *~*TZ *O@  @A:Y**` @AQ Y*T**`*f* @A6 Y*`  @A6 Y*`  @Agh/*x @A\sIY*`'*K*x *f } I@A3 Y*  ,-D.׳MY IJ"   @@