Edit D:\app\Administrator\product\11.2.0\dbhome_1\ucp\lib\oracle\ucp\jdbc\oracle\OracleFailoverHandler.class
?? 1^ ?/ ?0 ?12 3 ?4 ?5 ?6 ?7 ?8 ?9: ; ?<= ?>?@?AB CD?E ?F GHI J KL?M?NOP KQRS CTUV ?WX YZ &[ ?\ ]?^?_ ?`a Kbc Yd &e ?fghi ?j Yk ?lmn J o ?pqr ?s ?t ?u &v &w &x &y &z &{ |}~ ?? M3 K? &? &? &? _? ? &? 3? ??? J? ?? ??? _3 _?? ?? _? ?? _? ?? ???? ?? ?? ???? ??? m? ?J ?? ??? u? ?? |? |? ???? ?? K? &?? ??? |? |? K? K?? |? |??? ??? ?? |?? &? &? &? &? &? &?? |? K?? ?? ????? |? bA b? bE ?? ?;? ?? ??? ?? ?? ??? logger Ljava/util/logging/Logger; m_isEntireServiceDownProcessed Z m_cardinality I m_cp 1Loracle/ucp/jdbc/oracle/OracleJDBCConnectionPool; eventAccumulator 6Loracle/ucp/jdbc/oracle/FailoverStatisticsAccumulator; currentEvent /Loracle/ucp/jdbc/oracle/FailoverStatisticsItem; m_targetTearDownConnCount m_tornDownConnCount m_markedToCloseConnCount m_targetUpEventNewConnCount m_upEventNewConnCount m_errorInfo Ljava/lang/StringBuilder; $assertionsDisabled <init> 2(Loracle/ucp/common/UniversalConnectionPoolBase;)V Code LineNumberTable LocalVariableTable this .Loracle/ucp/jdbc/oracle/OracleFailoverHandler; connectionPool /Loracle/ucp/common/UniversalConnectionPoolBase; Exceptions validateServiceEvent /(Loracle/ucp/jdbc/oracle/OracleFailoverEvent;)Z failoverEvent ,Loracle/ucp/jdbc/oracle/OracleFailoverEvent; _svcName Ljava/lang/String; _dbName validateHostDownEvent _hostName handleFailoverEvent /(Loracle/ucp/jdbc/oracle/OracleFailoverEvent;)V status eventType !processServiceAffectedConnections h(Loracle/ucp/common/UniversalConnectionPoolBase;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V dbInfoList 7Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList; instanceName dbUniqueName reason isPlannedDownEvent avail '[Loracle/ucp/UniversalPooledConnection; borrowed isFCFSuccessful processConnectionsForServiceDown ?(Loracle/ucp/common/UniversalConnectionPoolBase;[Loracle/ucp/UniversalPooledConnection;ZLjava/lang/String;Ljava/lang/String;ZI)Loracle/ucp/jdbc/oracle/FailoverStatisticsCounters; result -Loracle/ucp/jdbc/oracle/FailoverActionResult; i conns isProcessingAvailableConnections actionFlag cs 3Loracle/ucp/jdbc/oracle/FailoverStatisticsCounters; processFailoverAction X(Loracle/ucp/UniversalPooledConnection;ZZI)Loracle/ucp/jdbc/oracle/FailoverActionResult; ucpe -Loracle/ucp/UniversalConnectionPoolException; exc Ljava/lang/Exception; pc &Loracle/ucp/UniversalPooledConnection; isAvailableConnection processHostAffectedConnections D(Loracle/ucp/common/UniversalConnectionPoolBase;Ljava/lang/String;)V hostName processConnectionsForHostDown ?(Loracle/ucp/common/UniversalConnectionPoolBase;[Loracle/ucp/UniversalPooledConnection;ZLjava/lang/String;I)Loracle/ucp/jdbc/oracle/FailoverStatisticsCounters; pooledConnections processServiceUpEvent V(Loracle/ucp/common/UniversalConnectionPoolBase;Ljava/lang/String;Ljava/lang/String;)V createCount e cri $Loracle/ucp/ConnectionRetrievalInfo; "getUpEventConnectionsToCreateCount 2(Loracle/ucp/common/UniversalConnectionPoolBase;)I targetAverageConnections connectionsToreDown cp connectionsToCreate averageConnections poolSizeHeadRoom tearDownConnectionsForInstance f(Loracle/ucp/common/UniversalConnectionPoolBase;Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo;I)V _sucProcessingOneConn dbInstance 3Loracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo; numConnectionsToTearDown tearDownCount _tornDownAvailConnCount _markedToCloseCount !getUpEventConnectionRetrievalInfo U(Loracle/ucp/common/UniversalConnectionPoolBase;)Loracle/ucp/ConnectionRetrievalInfo; failoverServiceEventMatch b(Loracle/ucp/jdbc/oracle/OracleFailoverablePooledConnection;Ljava/lang/String;Ljava/lang/String;)Z pooledConnection ;Loracle/ucp/jdbc/oracle/OracleFailoverablePooledConnection; pcDbUniqueName pcDataSourceInstanceName failoverHostEventMatch P(Loracle/ucp/jdbc/oracle/OracleFailoverablePooledConnection;Ljava/lang/String;)Z pooledConnectionHostName resetFCFInternalMetrics ()V _len getStackTraceString )(Ljava/lang/Throwable;)Ljava/lang/String; Ljava/lang/Throwable; stackTraceWriter Ljava/io/Writer; pw Ljava/io/PrintWriter; <clinit> SourceFile OracleFailoverHandler.java ? ? ? ? ? ? 4oracle/ucp/jdbc/oracle/FailoverStatisticsAccumulator ?# ? ? ? ? ? ? ? ? ? ? ? ? java/lang/StringBuilder ?? ? ? /oracle/ucp/jdbc/oracle/OracleJDBCConnectionPool ? ?????? ????? ? ???? failoverEvent: {0}????????? eventType: {0}, status = {1} java/lang/Object?? database/event/service down?? not_restarting restart_failed ? ? -oracle/ucp/jdbc/oracle/FailoverStatisticsItem??? ?? ? ??? ?? ? ? 4The service down event is invalid and not processed.? up? ? 2The service up event is invalid and not processed. database/event/host nodedown ? ?? ? ? 1The host down event is invalid and not processed. Invalid Event received {0}"# {0}, {1}, {2}, {3} user ? ? ? ? ? ? ? ? 5oracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfoList ? ? java/lang/AssertionError ? ? ? ? ?? ? ? Fast Connection Failover succeeded failed !{0}, {1}, {2}, {3}, {4}, {5}, {6} 1oracle/ucp/jdbc/oracle/FailoverStatisticsCounters ? ? 9oracle/ucp/jdbc/oracle/OracleFailoverablePooledConnection! ? ? ?"#$% ?&'()*+, ?-(. ? +oracle/ucp/UniversalConnectionPoolException setting status failed: %& , /012 ?34 java/lang/Exception aborting connection failed: 5674849 ? closing connection failed: {0}, {1} ? ?: ? ? {0}, {1}, {2}, {3}, {4} 9connectionPool: {0}, instanceName: {1}, dbUniqueName: {2};<=> +cardinality == 0, incorrect instance status?@ ,first up instance, to obtain {0} connections /first up instance, no new connections to obtain *cardinality is {0}, to get {1} connectionsAB 6UP-event processing failed when adding new connectionsC ?D ?E ?F ?G ?H ? cp: {0}IJK {0}, {1}, {2}LM ? 6Borrowed connection tearing failed when setting status RConnection tearing target: {0}, available torn: {1}, borrowed marked to close: {2} connectionPool: {0}NOP?QR java/io/StringWriter java/io/PrintWriter ?STUV ,oracle/ucp/jdbc/oracle/OracleFailoverHandlerWXYZ?[\] /oracle/ucp/common/UniversalConnectionPoolHelper (I)V *oracle/ucp/jdbc/oracle/OracleFailoverEvent getServiceName ()Ljava/lang/String; getDbUniqueName java/lang/String equals (Ljava/lang/Object;)Z getHostName java/util/logging/Level FINEST Ljava/util/logging/Level; toString java/util/logging/Logger log @(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V getStatus getEventType A(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V equalsIgnoreCase (Ljava/lang/String;)Z 2oracle/ucp/jdbc/oracle/FailoverStatisticsItem$Type Type InnerClasses SERVICE_DOWN 4Loracle/ucp/jdbc/oracle/FailoverStatisticsItem$Type; 7(Loracle/ucp/jdbc/oracle/FailoverStatisticsItem$Type;)V addItem 2(Loracle/ucp/jdbc/oracle/FailoverStatisticsItem;)V getInstanceName getReason .(Ljava/util/logging/Level;Ljava/lang/String;)V SERVICE_UP I(Loracle/ucp/jdbc/oracle/FailoverStatisticsItem$Type;Ljava/lang/String;)V HOST_DOWN updateFCFProcessingInfo (Ljava/lang/String;)V getAllAvailableConnections )()[Loracle/ucp/UniversalPooledConnection; getAllBorrowedConnections availMarked borrowedMarked availConns borrowedConns borrowedClosed availClosed -oracle/ucp/common/UniversalConnectionPoolBase getFailoverInfo ()Ljava/lang/Object; #markDownInstanceForServiceDownEvent '(Ljava/lang/String;Ljava/lang/String;)V dbUniqName length ()I successful append -(Ljava/lang/String;)Ljava/lang/StringBuilder; java/lang/Boolean valueOf (Z)Ljava/lang/Boolean; java/lang/Integer (I)Ljava/lang/Integer; affected update 0(Loracle/ucp/jdbc/oracle/FailoverActionResult;)V +oracle/ucp/jdbc/oracle/FailoverActionResult NOOP *oracle/ucp/UniversalPooledConnectionStatus STATUS_CLOSE_ON_RETURN ,Loracle/ucp/UniversalPooledConnectionStatus; $oracle/ucp/UniversalPooledConnection setStatus /(Loracle/ucp/UniversalPooledConnectionStatus;)V MARKED_CLOSE_ON_RETURN STATUS_BAD MARKED_BAD getStackTrace ()[Ljava/lang/StackTraceElement; java/lang/StackTraceElement FAILED abortConnection )(Loracle/ucp/UniversalPooledConnection;)V getConnectionPool 1()Loracle/ucp/common/UniversalConnectionPoolBase; $removeAndCloseOneAvailableConnection closeConnection ABORTED_AND_CLOSED markDownInstanceForHostDownEvent getAvailableConnectionsCount getBorrowedConnectionsCount markUpInstanceForUpEvent getUpInstancesCount getInitialPoolSize getTotalConnectionsCount addNewConnections ((Loracle/ucp/ConnectionRetrievalInfo;I)V cardinality targetedToTearConns tornDownConns markedToCloseConns targetUpEventNewConns upEventNewConnCount getMaxPoolSize tearDownConnections a(Loracle/ucp/jdbc/oracle/OracleFailoverHandler;Loracle/ucp/common/UniversalConnectionPoolBase;I)I 1oracle/ucp/jdbc/oracle/OracleDatabaseInstanceInfo databaseUniqName getConnectionRetrievalInfo &()Loracle/ucp/ConnectionRetrievalInfo; getDataSourceInstanceName delete (II)Ljava/lang/StringBuilder; (Ljava/io/Writer;)V java/lang/Throwable printStackTrace (Ljava/io/PrintWriter;)V java/lang/Class desiredAssertionStatus ()Z getCanonicalName (oracle/ucp/util/logging/UCPLoggerFactory createLogger .(Ljava/lang/String;)Ljava/util/logging/Logger; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? J*+? *? *? *? Y? ? *? *? *? *? *? *? Y ? ? *+? ? ? ? 2 = ! "