@Override public void waveletCommitUpdate(WaveletName waveletName, ProtocolHashedVersion committedVersion, WaveletUpdateCallback callback) { Preconditions.checkNotNull(committedVersion); if (isLocalWavelet(waveletName)) { LOG.warning("Got commit update for local wavelet " + waveletName); callback.onFailure(FederationErrors.badRequest("Received commit update to local wavelet")); return; } RemoteWaveletContainer wavelet; try { wavelet = getRemoteWavelet(waveletName); } catch (WaveletStateException e) { LOG.warning("Failed to access wavelet " + waveletName + " for commit update", e); callback.onFailure(FederationErrors.internalServerError("Storage access failure")); return; } if (wavelet != null) { wavelet.commit(CoreWaveletOperationSerializer.deserialize(committedVersion)); } else { if(LOG.isInfoLoggable()) { LOG.info("Got commit update for missing wavelet " + waveletName); } createAndCommitRemoteWavelet(waveletName, committedVersion); } callback.onSuccess(); } };
} catch (WaveletStateException e) { LOG.warning("Failed to access wavelet " + waveletName, e); listener.onFailure(FederationErrors.internalServerError("Storage access failure")); return null;
return; } catch (WaveServerException e) { resultListener.onFailure(FederationErrors.internalServerError(e.getMessage())); return; resultListener.onFailure(FederationErrors.badRequest(e.getMessage())); } catch (PersistenceException e) { resultListener.onFailure(FederationErrors.internalServerError(e.getMessage())); } catch (WaveletStateException e) { resultListener.onFailure(FederationErrors.internalServerError(e.getMessage()));
LOG.warning("Submit request: unknown signer. WaveletName: " + waveletName + "delta: " + signedDelta, e); listener.onFailure(FederationErrors.internalServerError("Unknown signer"));