/** * remove any participant recovery record with the supplied id from persistent storage * @param id the id of the participant whose recovery details are being deleted */ public boolean deleteParticipantRecoveryRecord(String id) { Uid uid = uidMap.get(id); if (uid != null) { try { txLog.remove_committed(uid, type); uidMap.remove(id); return true; } catch (ObjectStoreException ose) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_2(uid, id, ose); } } return false; }
/** * remove any participant recovery record with the supplied id from persistent storage * @param id the id of the participant whose recovery details are being deleted */ public boolean deleteParticipantRecoveryRecord(String id) { Uid uid = uidMap.get(id); if (uid != null) { try { txLog.remove_committed(uid, type); uidMap.remove(id); return true; } catch (ObjectStoreException ose) { RecoveryLogger.i18NLogger.warn_participant_at_XTSATRecoveryModule_2(uid, id, ose); } } return false; }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinateRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateBACoordinator[] coordinators = SubordinateBACoordinator.listRecoveredCoordinators(); for (SubordinateBACoordinator coordinator : coordinators) { if (coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_5(coordinator.get_uid()); coordinator.cancel(); } } }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinatorRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateATCoordinator[] coordinators = SubordinateATCoordinator.listRecoveredCoordinators(); for (SubordinateATCoordinator coordinator : coordinators) { if (coordinator.getSubordinateType().equals(SubordinateATCoordinator.SUBORDINATE_TX_TYPE_AT_AT) && coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_at_XTSATRecoveryModule_5(coordinator.get_uid()); coordinator.rollback(); } } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean ACCoordinators = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("StatusModule: first pass "); } ACCoordinators = _recoveryStore.allObjUids( _transactionType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_coordinator_at_ATCoordinatorRecoveryModule_1(ex); } if ( ACCoordinators ) { _transactionUidVector = processTransactions( acc_uids ) ; } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean BAParticipants = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("BAParticipantRecoveryModule: first pass"); } BAParticipants = _recoveryStore.allObjUids(_participantType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_participant_ba_BAParticipantRecoveryModule_1(ex); } if ( BAParticipants ) { _participantUidVector = processParticipants( acc_uids ) ; } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean SubordinateCoordinators = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("StatusModule: first pass "); } SubordinateCoordinators = _recoveryStore.allObjUids( _transactionType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_coordinator_at_SubordinateATCoordinatorRecoveryModule_1(ex); } if ( SubordinateCoordinators ) { _transactionUidVector = processTransactions( acc_uids ) ; } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean ATParticipants = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("ATParticipantRecoveryModule: first pass"); } ATParticipants = _recoveryStore.allObjUids(_participantType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_participant_at_ATParticipantRecoveryModule_1(ex); } if ( ATParticipants ) { _participantUidVector = processParticipants( acc_uids ) ; } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean ACCoordinators = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("BACoordinatorRecoveryModule: first pass"); } ACCoordinators = _recoveryStore.allObjUids( _transactionType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_coordinator_ba_BACoordinatorRecoveryModule_1(ex); } if ( ACCoordinators ) { _transactionUidVector = processTransactions( acc_uids ) ; } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean SubordinateCoordinators = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("StatusModule: first pass "); } SubordinateCoordinators = _recoveryStore.allObjUids( _transactionType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_coordinator_ba_SubordinateCoordinatorRecoveryModule_1(ex); } if ( SubordinateCoordinators ) { _transactionUidVector = processTransactions( acc_uids ) ; } }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinateRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateBACoordinator[] coordinators = SubordinateBACoordinator.listRecoveredCoordinators(); for (SubordinateBACoordinator coordinator : coordinators) { if (coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_5(coordinator.get_uid()); coordinator.cancel(); } } }
/** * remove any participant recovery record with the supplied id from persistent storage * @param id the id of the participant whose recovery details are being deleted */ public boolean deleteParticipantRecoveryRecord(String id) { Uid uid = uidMap.get(id); if (uid != null) { try { txLog.remove_committed(uid, type); uidMap.remove(id); return true; } catch (ObjectStoreException ose) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_2(uid, id, ose); } } return false; }
/** * remove any participant recovery record with the supplied id from persistent storage * @param id the id of the participant whose recovery details are being deleted */ public boolean deleteParticipantRecoveryRecord(String id) { Uid uid = uidMap.get(id); if (uid != null) { try { txLog.remove_committed(uid, type); uidMap.remove(id); return true; } catch (ObjectStoreException ose) { RecoveryLogger.i18NLogger.warn_participant_at_XTSATRecoveryModule_2(uid, id, ose); } } return false; }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinatorRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateATCoordinator[] coordinators = SubordinateATCoordinator.listRecoveredCoordinators(); for (SubordinateATCoordinator coordinator : coordinators) { if (coordinator.getSubordinateType().equals(SubordinateATCoordinator.SUBORDINATE_TX_TYPE_AT_AT) && coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_at_XTSATRecoveryModule_5(coordinator.get_uid()); coordinator.rollback(); } } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean ACCoordinators = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("StatusModule: first pass "); } ACCoordinators = _recoveryStore.allObjUids( _transactionType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_coordinator_at_ATCoordinatorRecoveryModule_1(ex); } if ( ACCoordinators ) { _transactionUidVector = processTransactions( acc_uids ) ; } }
/** * This is called periodically by the RecoveryManager */ public void periodicWorkFirstPass() { // Transaction type boolean BAParticipants = false ; // uids per transaction type InputObjectState acc_uids = new InputObjectState() ; try { if (RecoveryLogger.logger.isDebugEnabled()) { RecoveryLogger.logger.debug("BAParticipantRecoveryModule: first pass"); } BAParticipants = _recoveryStore.allObjUids(_participantType, acc_uids ); } catch ( ObjectStoreException ex ) { RecoveryLogger.i18NLogger.warn_participant_ba_BAParticipantRecoveryModule_1(ex); } if ( BAParticipants ) { _participantUidVector = processParticipants( acc_uids ) ; } }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinateRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateBACoordinator[] coordinators = SubordinateBACoordinator.listRecoveredCoordinators(); for (SubordinateBACoordinator coordinator : coordinators) { if (coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_5(coordinator.get_uid()); coordinator.cancel(); } } }
/** * remove any participant recovery record with the supplied id from persistent storage * @param id the id of the participant whose recovery details are being deleted */ public boolean deleteParticipantRecoveryRecord(String id) { Uid uid = uidMap.get(id); if (uid != null) { try { txLog.remove_committed(uid, type); uidMap.remove(id); return true; } catch (ObjectStoreException ose) { RecoveryLogger.i18NLogger.warn_participant_ba_XTSBARecoveryModule_2(uid, id, ose); } } return false; }
/** * remove any participant recovery record with the supplied id from persistent storage * @param id the id of the participant whose recovery details are being deleted */ public boolean deleteParticipantRecoveryRecord(String id) { Uid uid = uidMap.get(id); if (uid != null) { try { txLog.remove_committed(uid, type); uidMap.remove(id); return true; } catch (ObjectStoreException ose) { RecoveryLogger.i18NLogger.warn_participant_at_XTSATRecoveryModule_2(uid, id, ose); } } return false; }
/** * look for recovered subordinate transactions which do not have an associated proxy participant * rolling back any that are found. this only needs doing once after the first participant and * subordinate transaction recovery passes have both completed */ private void cullOrphanedSubordinates() { if (culledOrphanSubordinates || !(subordinateCoordinatorRecoveryStarted && participantRecoveryStarted)) { return; } culledOrphanSubordinates = true; SubordinateATCoordinator[] coordinators = SubordinateATCoordinator.listRecoveredCoordinators(); for (SubordinateATCoordinator coordinator : coordinators) { if (coordinator.getSubordinateType().equals(SubordinateATCoordinator.SUBORDINATE_TX_TYPE_AT_AT) && coordinator.isOrphaned()) { RecoveryLogger.i18NLogger.warn_participant_at_XTSATRecoveryModule_5(coordinator.get_uid()); coordinator.rollback(); } } }