protected void handleViewChange(View view) { List<Address> new_mbrs=view.getMembers(); List<Address> left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs); for(Address mbr: left_mbrs) { // the new view doesn't contain the sender, it must have left, hence we will clear its fragmentation tables fragment_list.remove(mbr); log.trace("%s: removed %s from fragmentation table", local_addr, mbr); } }
protected void handleViewChange(View view) { List<Address> new_mbrs=view.getMembers(); List<Address> left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs); for(Address mbr: left_mbrs) { // the new view doesn't contain the sender, it must have left, hence we will clear its fragmentation tables fragment_list.remove(mbr); log.trace("%s: removed %s from fragmentation table", local_addr, mbr); } }
private void handleViewChange(View view) { List<Address> new_mbrs=view.getMembers(); List<Address> left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs); for(Address mbr: left_mbrs){ // the new view doesn't contain the sender, it must have left, // hence we will clear all of itsfragmentation tables fragment_list.remove(mbr); if(log.isTraceEnabled()) log.trace("[VIEW_CHANGE] removed " + mbr + " from fragmentation table"); } }
protected void handleViewChange(View view) { List<Address> new_mbrs=view.getMembers(); List<Address> left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs); for(Address mbr: left_mbrs) { // the new view doesn't contain the sender, it must have left, hence we will clear its fragmentation tables fragment_list.remove(mbr); log.trace("%s: removed %s from fragmentation table", local_addr, mbr); } }
protected void handleViewChange(View view) { List<Address> new_mbrs=view.getMembers(); List<Address> left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs); for(Address mbr: left_mbrs) { // the new view doesn't contain the sender, it must have left, hence we will clear its fragmentation tables fragment_list.remove(mbr); log.trace("%s: removed %s from fragmentation table", local_addr, mbr); } }
private void handleViewChange(View view) { List<Address> new_mbrs=view.getMembers(); List<Address> left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs); for(Address mbr: left_mbrs){ // the new view doesn't contain the sender, it must have left, // hence we will clear all of itsfragmentation tables fragment_list.remove(mbr); if(log.isTraceEnabled()) log.trace("[VIEW_CHANGE] removed " + mbr + " from fragmentation table"); } }
/** Synchronizes the internal view of job managers with a JGroups view: instantiates dropping threads for * known job managers that are being suspected and handles new job managers. * * @param newView the new JGroups view. */ @Override public void viewAccepted( final View newView ) { LOGGER.info( "New JGroups view {}", newView ); // The first time, the view is null. final List<Address> members; if ( jGroupsView != null ) members = jGroupsView.getMembers(); else members = Collections.emptyList(); // First we examine job managers that disappeared from the view. for ( Address deletedMember: Util.determineLeftMembers( members, newView.getMembers() ) ) { if ( deletedMember instanceof JAI4JAddress ) { final JAI4JAddress address = (JAI4JAddress)deletedMember; if ( address.weight != 0 ) { final JGroupsRemoteJobManager<J> jGroupsRemoteJobManager = identifier2RemoteJobManager.get( address.name ); if ( jGroupsRemoteJobManager == null ) LOGGER.error( "Spurious deleted address " + deletedMember ); else jGroupsRemoteJobManager.suspect( droppingThreadFactory.createThread( jGroupsRemoteJobManager ) ); } } } final List<org.jgroups.Address> newMembers = Util.determineLeftMembers( newView.getMembers(), members ); LOGGER.info( "New members: {}", newMembers ); for ( org.jgroups.Address newMember : newMembers ) if ( newMember instanceof JAI4JAddress ) refresh( (JAI4JAddress)newMember ); jGroupsView = newView; if ( LOGGER.isDebugEnabled() ) LOGGER.debug( "Current JGroups view: {}", newView ); }
Address mbr; left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs);
Address mbr; left_mbrs=Util.determineLeftMembers(members, new_mbrs); members.clear(); members.addAll(new_mbrs);
view=(View)evt.getArg(); Vector<Address> new_members=view != null? view.getMembers() : null; Vector<Address> left_members=Util.determineLeftMembers(old_members, new_members);
Vector<Address> left_members; synchronized(members) { left_members=Util.determineLeftMembers(members, new_members); members.clear(); if(new_members != null)