1 Krs r tu r vw r xy z { | } ~ r    K              ,r *   # #    =    D? D               f  f f f f      _  _ _     fr  f f f f f  *  * D   _ D    * *  * D D  C ! " *# *$ % & r s' () (* + s, -. / 0^ 1 2 #3 #4 #5678 s9 :;<= D> ? K*@ A B CDE InnerClassesloggerLjava/util/logging/Logger;m_cp1Loracle/ucp/jdbc/oracle/OracleJDBCConnectionPool; m_serviceName-Ljava/util/concurrent/atomic/AtomicReference; SignatureALjava/util/concurrent/atomic/AtomicReference;m_instancesToRetireQueue$Ljava/util/concurrent/BlockingQueue;YLjava/util/concurrent/BlockingQueue; m_countTotal+Ljava/util/concurrent/atomic/AtomicInteger;m_randLjava/util/Random;m_gravitatePoolThreadkLjava/util/concurrent/atomic/AtomicReference;m_RLBEventHandlerThreadfLjava/util/concurrent/atomic/AtomicReference;m_isInstanceAffinityEnabledZm_gravitateThreadBusy+Ljava/util/concurrent/atomic/AtomicBoolean; m_mixTable[IMIX_TABLE_SIZEI ConstantValueIRREDUCIBLE_POLYNOMIAL MIX_TABLE_GENERATOR$assertionsDisabled4(Loracle/ucp/jdbc/oracle/OracleJDBCConnectionPool;)VCodeLineNumberTableLocalVariableTableucpe-Loracle/ucp/UniversalConnectionPoolException;this:Loracle/ucp/jdbc/oracle/OracleRuntimeLoadBalancingHandler;connectionPool ExceptionsinitRLBSubscription(Ljava/lang/String;)V serviceNameLjava/lang/String;)setRuntimeLoadBalancingEventHandlerThread:(Loracle/ucp/jdbc/oracle/ONSRuntimeLBEventHandlerThread;)VrlbEventHandlerThread7Loracle/ucp/jdbc/oracle/ONSRuntimeLBEventHandlerThread;processDatabaseInstances()Vie Ljava/lang/InterruptedException;eLjava/lang/Exception;gravitatePoolThreadLjava/lang/Thread; failoverInfo7Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList; gravitatePoolinstanceToRetire3Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;retireConnectionsCount2selectConnectionPerRuntimeLoadBalancingAndAffinity>(Ljava/util/Collection;)Loracle/ucp/UniversalPooledConnection;opc8Loracle/ucp/jdbc/oracle/OracleUniversalPooledConnection;affinityContext8Loracle/ucp/jdbc/oracle/OracleConnectionAffinityContext; instanceKeyconn&Loracle/ucp/UniversalPooledConnection;i$Ljava/util/Iterator;updatedAffinityContext instanceName dbUniqNameisInstanceAffinityEnabledisAppAffinityContextValidToUse affinityValueconnsLjava/util/Collection;cbk'Loracle/ucp/ConnectionAffinityCallback;appAffinityContextLjava/lang/Object;pcLocalVariableTypeTable>Ljava/util/Collection;f(Ljava/util/Collection;)Loracle/ucp/UniversalPooledConnection;"getUpdatedAffinityContextAfterRCLBs(Loracle/ucp/jdbc/oracle/OracleUniversalPooledConnection;Z)Loracle/ucp/jdbc/oracle/OracleConnectionAffinityContext;needToCreateAffinityContextdbNamegetConnectionToNamedInstanceM(Ljava/lang/String;Ljava/lang/String;Z)Loracle/ucp/UniversalPooledConnection; originalUrl dbInstancenamedInstanceUrl dbInfoListcfa.Loracle/ucp/jdbc/JDBCConnectionFactoryAdapter;upc$selectConnectionPerDataBasedAffinityinstanceCategoryF#INSTANCE_CATEGORY_FOR_DATA_AFFINITY[Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList$INSTANCE_CATEGORY_FOR_DATA_AFFINITY; instanceIdconfiguredInstCardinality;8Ljava/util/List;cleanupRLBThreadscheckAndStartThread(Ljava/lang/Thread;)V'Ljava/lang/IllegalThreadStateException;thrselectConnectionFromArrayq(Ljava/util/Collection;Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;)Loracle/ucp/UniversalPooledConnection;excj numToCloseconnectionsToClose'[Loracle/ucp/UniversalPooledConnection;(Ljava/util/Collection;Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;)Loracle/ucp/UniversalPooledConnection;areObjectsEqual'(Ljava/lang/Object;Ljava/lang/Object;)Zo1o2 SourceFile&OracleRuntimeLoadBalancingHandler.java  +java/util/concurrent/atomic/AtomicReference (java/util/concurrent/LinkedBlockingQueue )java/util/concurrent/atomic/AtomicInteger java/util/Random G )java/util/concurrent/atomic/AtomicBoolean H IJ KLM NO!OracleRuntimeLoadBalancingHandlerP QR S TUserviceName: {0} MV WX YZ5oracle/ucp/jdbc/oracle/ONSRuntimeLBEventHandlerThreadjava/lang/String [java/lang/Thread _` J +runtimeLoadBalancingEventHandlerThread: {0}process database instances \] ^Z5oracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList java/lang/AssertionError _` ab Yc#about to interrupt gravitate thread d about to join gravitate thread e java/lang/InterruptedExceptionjoining threads Mfgrowing pool to min pool size gh ijjava/lang/Exception growing pool:oracle/ucp/jdbc/oracle/OracleGravitateConnectionPoolThread kstarted Wbpolling instance queuel mno pq1oracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo interruptedno more instances to retire r.instanceName: {0}, retireConnectionsCount: {1}java/lang/Object %s tu Mv wx Wjtearing down conns for instancefinished conns: {0}y zh {|} ~  A  Z/Application has no affinity context established M P&Connection obtained based on RCLB: {0}6oracle/ucp/jdbc/oracle/OracleUniversalPooledConnection 45 Z (Application affinity context is now set.(Application affinity context is not set.,Application has affinity context established6oracle/ucp/jdbc/oracle/OracleConnectionAffinityContext O O O c  ?Database instance affinity. Use application's affinity context.6Temporal affinity. Use application's affinity context.3Affinity context: instance={0}, service={1}, db={2}  c Z$oracle/ucp/UniversalPooledConnection O kl O/Connection found matching affinity context: {0}mAffinity contexts match but no connection available to serviceName: {0}, instanceName: {1}, dbUniqueName: {2} 89*Connection obtained to named instance: {0}?Temporal affinity. Application affinity context is updated: {0}   DTemporal affinity miss. Application affinity context is updated: {0}method returns connection: {0}(opc: {0}, isInstanceAffinityEnabled: {1} t(Checking affinity hint for this instanceTemporal Affinity hint is false,Creating temporary updated affinity context.    %New context is for instance affinity. b!New Affinity context created: {0} ,oracle/ucp/jdbc/JDBCConnectionFactoryAdapter  O  <  8  ,URL invalid for connecting to named instance:oracle/ucp/jdbc/oracle/DataBasedConnectionAffinityCallback h(Callback returns incorrect partition-id.!Callback returns partition-id:{0} Partition-id={0}, dbinfo={1} @Bad instance, dbinfo == null in table, remap to partition-id:{0}     h?Data-based affinity. Found good instance based on partition-id.BPartition-id={0}, Good instance: instance={0}, service={1}, db={2}7Available connection found in chosen good instance: {0}iFound good instance but no connection available to serviceName: {0}, instanceName: {1}, dbUniqueName: {2}5Violating instance: instance={0}, service={1}, db={2}MBad instance, service: {0}, instance: {1}, db: {2}; remap to partition-id:{3}numConns: {0}, conns: {1} c c  java/util/ArrayList  U  c c    b O c b  %java/lang/IllegalThreadStateExceptionstarting thread{0}, {1}  +oracle/ucp/UniversalConnectionPoolExceptionclosing onnection failedpc: {0}, serviceName: {1}, instanceName: {2},numberOfConnectionsCount: {3},attemptedConnRequestCount: {4},totalConnections: {5}  h8oracle/ucp/jdbc/oracle/OracleRuntimeLoadBalancingHandler c O :oracle/ucp/jdbc/oracle/OracleRuntimeLoadBalancingHandler$1Yoracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList$INSTANCE_CATEGORY_FOR_DATA_AFFINITY(J)Voracle/ucp/util/UCPErrorHandler#newUniversalConnectionPoolException0(I)Loracle/ucp/UniversalConnectionPoolException;getClass()Ljava/lang/Class;java/lang/ClassgetName()Ljava/lang/String;java/util/logging/Loggerthrowing<(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Vjava/util/logging/LevelFINESTLjava/util/logging/Level;@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)Vset(Ljava/lang/Object;)Vget()Ljava/lang/Object;F(Ljava/lang/String;Loracle/ucp/jdbc/oracle/OracleJDBCConnectionPool;)Vfinest/oracle/ucp/jdbc/oracle/OracleJDBCConnectionPoolgetFailoverInfoprocessDatabaseInstanceListR(Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/atomic/AtomicInteger;)VsetRCLBMetricsPolicyEnabled(Z)V()Z interruptjoinC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)VgetMinPoolSize()IgrowPool(I)V=(Loracle/ucp/jdbc/oracle/OracleRuntimeLoadBalancingHandler;)Vjava/util/concurrent/TimeUnitSECONDSLjava/util/concurrent/TimeUnit;"java/util/concurrent/BlockingQueuepoll4(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;numberOfConnectionsCountjava/lang/IntegervalueOf(I)Ljava/lang/Integer;A(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)VtearDownConnectionsForInstance7(Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;I)Vjava/util/CollectionsizegetConnectionAffinityCallback)()Loracle/ucp/ConnectionAffinityCallback;%oracle/ucp/ConnectionAffinityCallbackgetAffinityPolicyAffinityPolicy8()Loracle/ucp/ConnectionAffinityCallback$AffinityPolicy;4oracle/ucp/ConnectionAffinityCallback$AffinityPolicyDATA_BASED_AFFINITY6Loracle/ucp/ConnectionAffinityCallback$AffinityPolicy;TRANSACTION_BASED_AFFINITYgetConnectionAffinityContext.(Ljava/util/logging/Level;Ljava/lang/String;)VclonesetConnectionAffinityContext(Ljava/lang/Object;)ZgetInstanceNamegetDatabaseUniqueNamegetServiceNameisForInstanceAffinitygenerateDatabaseInstanceKeyJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;getConnectionAffinityValue(Ljava/lang/String;)Ziterator()Ljava/util/Iterator;java/util/IteratorhasNextnextgetDataSourceInstanceNamegetDbUniqueName'incrementFailedAffinityBasedBorrowCount+incrementSuccessfulAffinityBasedBorrowCountjava/lang/Boolean(Z)Ljava/lang/Boolean;setConnectionPoolIDsetInstanceNamesetDatabaseUniqueNamesetServiceNamesetForInstanceAffinitygetConnectionFactoryAdapter'()Loracle/ucp/ConnectionFactoryAdapter; isNamedInstanceConnectingAllowed((Ljava/lang/String;Ljava/lang/String;Z)ZgetUrlgetOracleDatabaseInstanceInfoY(Ljava/lang/String;Ljava/lang/String;)Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;setUrl(()Loracle/ucp/UniversalPooledConnection;setForNamedInstancenumNamedInstanceConnsgetPartitionId6(I)Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;getInstanceCategory(Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;)Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList$INSTANCE_CATEGORY_FOR_DATA_AFFINITY;databaseUniqNamed$SwitchMap$oracle$ucp$jdbc$oracle$OracleDatabaseInstanceInfoList$INSTANCE_CATEGORY_FOR_DATA_AFFINITYordinalisRCLBMetricsPolicyEnabled useGoodGroupselectConnectionPerRLBMetricsx(Loracle/ucp/jdbc/oracle/OracleRuntimeLoadBalancingHandler;Ljava/util/Collection;)Loracle/ucp/UniversalPooledConnection;nextInt(I)I getStatus.()Loracle/ucp/UniversalPooledConnectionStatus;*oracle/ucp/UniversalPooledConnectionStatus STATUS_NORMALequalsgetValidateConnectionOnBorrowisValidjava/util/Listadd'closeAvailableConnectionsAsynchronously(Ljava/util/List;)V#incrementFailedRCLBBasedBorrowCount setTerminateisAlive setDaemonstartvalidate$removeAndCloseOneAvailableConnection)(Loracle/ucp/UniversalPooledConnection;)VattemptedConnRequestCountgetTotalConnectionsCountdesiredAssertionStatusgetCanonicalName(oracle/ucp/util/logging/UCPLoggerFactory createLogger.(Ljava/lang/String;)Ljava/util/logging/Logger; Ky**Y*Y*Y * Y *Y*Y**Y+6M*,,*+>R%')%*1+<-G1L3WS[UaWqXs[x\ ayy^+*+*YM** Y*!*",çN,-**#$*%CFFIF& b dfh%jAmKoYr]s^^0&+*YM* *+,çN,-'**-*~ %/00    ղ'(*)*L++ ,Y-+** .*/*YM*#N-_*0U1(-23(-4:678(**9::<7*=Y*>**#$,ç :,Yqt5;@f%19@KOYaemqtv4v   K} ?(<*@MA(* BCDMN*@E-7,F(R,GHk<JKY,LSYMSN*,O* PNQ-7p8(**9:!2M<,7::*@R(-05~;;" -019EFKSVa~   >1  S++ +T*UM,VW *+X*,VY,ZN:-g[\*+]:^4_:**`:,abWc\d\e\-f:g:h:i:j6 6  *k: * l6   6  I m\n\oKYSYSYSN+p:  qJ rs:  _:*tu&*vu*wu  :xyKYSYSYSN* z:{R*+]:^/_: *  `:  , bW| *}]*~S*~I*+]:^)_: * `: , bW *}F( +,/#1/35GJKQMTZX\c_jawd|fjtvx|~ !&4?]{ $.3<IS]g!n"{%'+./59<6*  1{8 ! eQ"# $% .$  $ %&' ( ) *+#,-Ql./Ti0!1 *2345 ŲKY+SYSNN6+t:+v:+w:<\*k:*l6\S\fYN-*---\---fHKLN%O+P1R5T@VO][^^`canesg~qstuvxz|\ O'$6%%+7189E *)*:*::+,_:+,:: 5 *:_Y`\B &-6=ELUZbmwf -U:6L;=E< %&' y=m>?j@!A$~S+*UM,>:\>M*)*6*)*:p>p6:KYMSYSN*.>M: L: : :  ."e\KYMSY SY SY SN+p:  qJ rs:_:*t u&*v u*w u :fKY SY SY SN*  z:{!*+]:^*}*~|*~rKYMSY SY SY SN*+]:^*}/*.>KY SY SY SYMSN6 !%3BQ]cir : Akoru!(*.016<CFIM N-R4T7X>Zcahbkcnf{iA1:8 !$Q"# r;BE % &  iFQG]=~~*+g,H`I!]0!1 ~*23J V* L+O=,++d.x+d.O+.~ +\. O M>,+.O,O N6-,d.d,.dO-,.d,.dO*-Vwxz{+5>DJSY_ekvH0KLKnKLJVMk5NO 4*  PeKY++TMSY+SN+ +T*)*M+, ,Y-N*Y:*,,6 ,*+Nç :+T6* 6+:6`prWY:6  oq +:rs:  :  7*6 6   6    N W **-]%'46ASU]|"%*3=@CMS\cK"+Q %(R HS! ?TU sK VWX#YZee*+A$U0!|[1 X\Y]e*23^ (t(*YL* M,,+çN+-*YL*#M,#,2,4N6-7*+ç :+*%((+(CKN54ehhlhJ # - 4?CGKNO[co"s#*   O  ?$t_`!+ ++çM,7-/ 0635 7   a!!bcdi 7KY+SY,LSNN:+T66s:+p:qrs:  :  ^*6     0 _:*v,u#*t,LuN S{6'*2ȧ:  7زKY-SY*SY,LSY,GMSY,̸MSY*͸MSN-rEJKL'M*N1ROTXVcXlZq[x^`beflmpsw~y{s5lRQ XfTU Oo ! 9"# e +f77*+7;0!S'V* g1hi1 7*2jklZ+ ,+,ά m/n/o :϶К+϶Ѹҳ !pqC*D@@