congrats Icon
New! Announcing Tabnine Chat Beta
Learn More
Tabnine Logo
STATE_TRANSFER
Code IndexAdd Tabnine to your IDE (free)

How to use
STATE_TRANSFER
in
org.jgroups.protocols.pbcast

Best Java code snippets using org.jgroups.protocols.pbcast.STATE_TRANSFER (Showing top 20 results out of 315)

origin: wildfly/wildfly

public void handle(Address state_requester) {
  handleStateReq(state_requester);
}
origin: wildfly/wildfly

public Object up(Message msg) {
  StateHeader hdr=msg.getHeader(this.id);
  if(hdr == null)
    return up_prot.up(msg);
  switch(hdr.type) {
    case StateHeader.STATE_REQ:
      state_requesters.add(msg.getSrc());
      break;
    case StateHeader.STATE_RSP:
      handleStateRsp(hdr.getDigest(), msg.getSrc(), msg.getBuffer());
      break;
    case StateHeader.STATE_EX:
      closeHoleFor(msg.getSrc());
      try {
        handleException(Util.exceptionFromBuffer(msg.getRawBuffer(), msg.getOffset(), msg.getLength()));
      }
      catch(Throwable t) {
        log.error("failed deserializaing state exception", t);
      }
      break;
    default:
      log.error("%s: type %s not known in StateHeader", local_addr, hdr.type);
      break;
  }
  return null;
}
origin: wildfly/wildfly

public Object up(Event evt) {
  switch(evt.getType()) {
    case Event.TMP_VIEW:
    case Event.VIEW_CHANGE:
      handleViewChange(evt.getArg());
      break;
    case Event.CONFIG:
      Map<String,Object> config=evt.getArg();
      if(config != null && config.containsKey("state_transfer"))
        log.error(Util.getMessage("ProtocolStackCannotContainTwoStateTransferProtocolsRemoveEitherOneOfThem"));
      break;
  }
  return up_prot.up(evt);
}
origin: wildfly/wildfly

if(isDigestNeeded()) {
  try {
    punchHoleFor(requester);
    closeBarrierAndSuspendStable();
    digest=(Digest)down_prot.down(Event.GET_DIGEST_EVT);
    sendException(requester, t);
    resumeStable();
    closeHoleFor(requester);
    return;
    openBarrier();
  getStateFromApplication(requester, digest);
  sendException(requester, t);
  if(isDigestNeeded()) {
    closeHoleFor(requester);
    resumeStable();
origin: wildfly/wildfly

protected void handleException(Throwable exception) {
  if(isDigestNeeded())
    openBarrierAndResumeStable();
  up_prot.up(new Event(Event.GET_STATE_OK, new StateTransferResult(exception)));
}
origin: wildfly/wildfly

/** Set the digest and the send the state up to the application */
protected void handleStateRsp(final Digest digest, Address sender, byte[] state) {
  try {
    if(isDigestNeeded()) {
      punchHoleFor(sender);
      closeBarrierAndSuspendStable(); // fix for https://jira.jboss.org/jira/browse/JGRP-1013
      if(digest != null)
        down_prot.down(new Event(Event.OVERWRITE_DIGEST, digest)); // set the digest (e.g. in NAKACK)
    }
    waiting_for_state_response=false;
    stop=System.currentTimeMillis();
    log.debug("%s: received state, size=%s, time=%d milliseconds", local_addr,
         (state == null? "0" : Util.printBytes(state.length)), stop - start);
    StateTransferResult result=new StateTransferResult(state);
    up_prot.up(new Event(Event.GET_STATE_OK, result));
    down_prot.down(new Event(Event.GET_VIEW_FROM_COORD)); // https://issues.jboss.org/browse/JGRP-1751
  }
  catch(Throwable t) {
    handleException(t);
  }
  finally {
    if(isDigestNeeded()) {
      closeHoleFor(sender);
      openBarrierAndResumeStable();
    }
  }
}
origin: org.jgroups/com.springsource.org.jgroups

  handleStateReq(hdr);
  break;
case StateHeader.STATE_RSP:
  handleStateRsp(hdr, msg.getBuffer());
  if(flushProtocolInStack) {
    up_prot.up(new Event(Event.RESUME));
handleViewChange((View)evt.getArg());
break;
origin: wildfly/wildfly

handleViewChange(evt.getArg());
break;
StateTransferInfo info=evt.getArg();
if(info.target == null) {
  target=determineCoordinator();
origin: wildfly/wildfly

public void openBarrier() {
  if(!isDigestNeeded())
    return;
  log.trace("%s: sending down OPEN_BARRIER", local_addr);
  down_prot.down(new Event(Event.OPEN_BARRIER));
}
origin: wildfly/wildfly

protected void sendException(Address requester, Throwable exception) {
  try {
    Message ex_msg=new Message(requester).setBuffer(Util.exceptionToBuffer(exception))
     .putHeader(getId(), new StateHeader(StateHeader.STATE_EX));
    down(ex_msg);
  }
  catch(Throwable t) {
    log.error("%s: failed sending exception %s to %s", local_addr, exception, requester);
  }
}
origin: org.jgroups/com.springsource.org.jgroups

if(!isDigestNeeded()) { // state transfer is in progress, digest was already requested
  requestApplicationStates(sender, false);
    log.debug("digest is " + digest + ", getting application state");
  try {
    requestApplicationStates(sender, !flushProtocolInStack);
origin: org.jgroups/com.springsource.org.jgroups

private void handleViewChange(View v) {
  Address old_coord;
  Vector new_members=v.getMembers();
  boolean send_up_null_state_rsp=false;
  synchronized(members) {
    old_coord=(Address)(!members.isEmpty()? members.firstElement() : null);
    members.clear();
    members.addAll(new_members);
    // this handles the case where a coord dies during a state transfer; prevents clients from hanging forever
    // Note this only takes a coordinator crash into account, a getState(target, timeout), where target is not
    // null is not handled ! (Usually we get the state from the coordinator)
    // http://jira.jboss.com/jira/browse/JGRP-148
    if(waiting_for_state_response && old_coord != null && !members.contains(old_coord)) {
      send_up_null_state_rsp=true;
    }
  }
  if(send_up_null_state_rsp) {
    if(log.isWarnEnabled())
      log.warn("discovered that the state provider (" + old_coord + ") crashed; will return null state to application");
    StateHeader hdr=new StateHeader(StateHeader.STATE_RSP, local_addr, 0, null, null);
    handleStateRsp(hdr, null); // sends up null GET_STATE_OK
  }
}
origin: org.jboss.eap/wildfly-client-all

if(isDigestNeeded()) {
  try {
    punchHoleFor(requester);
    closeBarrierAndSuspendStable();
    digest=(Digest)down_prot.down(Event.GET_DIGEST_EVT);
    sendException(requester, t);
    resumeStable();
    closeHoleFor(requester);
    return;
    openBarrier();
  getStateFromApplication(requester, digest);
  sendException(requester, t);
  if(isDigestNeeded()) {
    closeHoleFor(requester);
    resumeStable();
origin: org.jboss.eap/wildfly-client-all

/** Set the digest and the send the state up to the application */
protected void handleStateRsp(final Digest digest, Address sender, byte[] state) {
  try {
    if(isDigestNeeded()) {
      punchHoleFor(sender);
      closeBarrierAndSuspendStable(); // fix for https://jira.jboss.org/jira/browse/JGRP-1013
      if(digest != null)
        down_prot.down(new Event(Event.OVERWRITE_DIGEST, digest)); // set the digest (e.g. in NAKACK)
    }
    waiting_for_state_response=false;
    stop=System.currentTimeMillis();
    log.debug("%s: received state, size=%s, time=%d milliseconds", local_addr,
         (state == null? "0" : Util.printBytes(state.length)), stop - start);
    StateTransferResult result=new StateTransferResult(state);
    up_prot.up(new Event(Event.GET_STATE_OK, result));
    down_prot.down(new Event(Event.GET_VIEW_FROM_COORD)); // https://issues.jboss.org/browse/JGRP-1751
  }
  catch(Throwable t) {
    handleException(t);
  }
  finally {
    if(isDigestNeeded()) {
      closeHoleFor(sender);
      openBarrierAndResumeStable();
    }
  }
}
origin: org.jgroups/com.springsource.org.jgroups

handleViewChange((View)evt.getArg());
break;
StateTransferInfo info=(StateTransferInfo)evt.getArg();
if(info.target == null) {
  target=determineCoordinator();
origin: wildfly/wildfly

@ManagedOperation(description="Opens BARRIER and resumes STABLE")
public void openBarrierAndResumeStable() {
  if(!isDigestNeeded())
    return;
  log.trace("%s: sending down OPEN_BARRIER and RESUME_STABLE", local_addr);
  down_prot.down(new Event(Event.OPEN_BARRIER));
  down_prot.down(new Event(Event.RESUME_STABLE));
}
origin: org.jboss.eap/wildfly-client-all

protected void handleException(Throwable exception) {
  if(isDigestNeeded())
    openBarrierAndResumeStable();
  up_prot.up(new Event(Event.GET_STATE_OK, new StateTransferResult(exception)));
}
origin: org.jboss.eap/wildfly-client-all

protected void sendException(Address requester, Throwable exception) {
  try {
    Message ex_msg=new Message(requester).setBuffer(Util.exceptionToBuffer(exception))
     .putHeader(getId(), new StateHeader(StateHeader.STATE_EX));
    down(ex_msg);
  }
  catch(Throwable t) {
    log.error("%s: failed sending exception %s to %s", local_addr, exception, requester);
  }
}
origin: org.jboss.eap/wildfly-client-all

handleViewChange(evt.getArg());
break;
StateTransferInfo info=evt.getArg();
if(info.target == null) {
  target=determineCoordinator();
origin: org.jboss.eap/wildfly-client-all

public Object up(Message msg) {
  StateHeader hdr=msg.getHeader(this.id);
  if(hdr == null)
    return up_prot.up(msg);
  switch(hdr.type) {
    case StateHeader.STATE_REQ:
      state_requesters.add(msg.getSrc());
      break;
    case StateHeader.STATE_RSP:
      handleStateRsp(hdr.getDigest(), msg.getSrc(), msg.getBuffer());
      break;
    case StateHeader.STATE_EX:
      closeHoleFor(msg.getSrc());
      try {
        handleException(Util.exceptionFromBuffer(msg.getRawBuffer(), msg.getOffset(), msg.getLength()));
      }
      catch(Throwable t) {
        log.error("failed deserializaing state exception", t);
      }
      break;
    default:
      log.error("%s: type %s not known in StateHeader", local_addr, hdr.type);
      break;
  }
  return null;
}
org.jgroups.protocols.pbcastSTATE_TRANSFER

Javadoc

STATE_TRANSFER protocol based on byte array transfer. A state request is sent to a chosen member (coordinator if null). That member makes a copy D of its current digest and asks the application for a copy of its current state S. Then the member returns both S and D to the requester. The requester first sets its digest to D and then returns the state to the application.

Most used methods

  • determineCoordinator
    Return the first element of members which is not me. Otherwise return null.
  • handleStateReq
    If a state transfer is in progress, we don't need to send a GET_APPLSTATE event to the application,
  • handleStateRsp
    Set the digest and the send the state up to the application
  • handleViewChange
  • isDigestNeeded
    When FLUSH is used we do not need to pass digests between members see JGroups/doc/design/PartialStat
  • closeBarrierAndSuspendStable
  • closeHoleFor
  • down
  • getId
  • getStateFromApplication
  • handleException
  • openBarrier
  • handleException,
  • openBarrier,
  • openBarrierAndResumeStable,
  • punchHoleFor,
  • resumeStable,
  • sendException,
  • getAverageStateSize,
  • getNumberOfStateBytesSent,
  • getNumberOfStateRequests,
  • requestApplicationStates

Popular in Java

  • Finding current android device location
  • runOnUiThread (Activity)
  • scheduleAtFixedRate (Timer)
  • getExternalFilesDir (Context)
  • InetAddress (java.net)
    An Internet Protocol (IP) address. This can be either an IPv4 address or an IPv6 address, and in pra
  • SocketException (java.net)
    This SocketException may be thrown during socket creation or setting options, and is the superclass
  • SQLException (java.sql)
    An exception that indicates a failed JDBC operation. It provides the following information about pro
  • GregorianCalendar (java.util)
    GregorianCalendar is a concrete subclass of Calendarand provides the standard calendar used by most
  • Iterator (java.util)
    An iterator over a sequence of objects, such as a collection.If a collection has been changed since
  • Modifier (javassist)
    The Modifier class provides static methods and constants to decode class and member access modifiers
  • Top PhpStorm plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now