diff --git a/FETCH_HEAD b/FETCH_HEAD new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/fix-stringutils-split b/fix-stringutils-split new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/java/org/apache/catalina/ha/tcp/LocalStrings.properties b/java/org/apache/catalina/ha/tcp/LocalStrings.properties index e8525482bb00..a87b24cd3fa1 100644 --- a/java/org/apache/catalina/ha/tcp/LocalStrings.properties +++ b/java/org/apache/catalina/ha/tcp/LocalStrings.properties @@ -23,7 +23,6 @@ ReplicationValve.invoke.uri=Invoking replication request on [{0}] ReplicationValve.nocluster=No cluster configured for this request. ReplicationValve.resetDeltaRequest=Cluster is standalone: reset Session Request Delta at context [{0}] ReplicationValve.send.failure=Unable to perform replication request. -ReplicationValve.send.invalid.failure=Unable to send session [id={0}] invalid message over cluster. ReplicationValve.session.found=Context [{0}]: Found session [{1}] but it isn''t a ClusterSession. ReplicationValve.session.indicator=Context [{0}]: Primarity of session [{1}] in request attribute [{2}] is [{3}]. ReplicationValve.session.invalid=Context [{0}]: Requested session [{1}] is invalid, removed or not replicated at this node. diff --git a/java/org/apache/catalina/ha/tcp/ReplicationValve.java b/java/org/apache/catalina/ha/tcp/ReplicationValve.java index 69ab9e907db7..9cdfd0425cb1 100644 --- a/java/org/apache/catalina/ha/tcp/ReplicationValve.java +++ b/java/org/apache/catalina/ha/tcp/ReplicationValve.java @@ -364,13 +364,20 @@ protected void sendReplicationMessage(Request request, long totalstart, boolean try { // send invalid sessions sendInvalidSessions(clusterManager); + } catch (Exception e) { + log.error(sm.getString("ReplicationValve.send.failure"), e); + } + try { // send replication sendSessionReplicationMessage(request, clusterManager); + } catch (Exception e) { + log.error(sm.getString("ReplicationValve.send.failure"), e); + } + try { if (isCrossContext) { sendCrossContextSession(); } } catch (Exception e) { - // FIXME we have a lot of sends, but the trouble with one node stops the correct replication to other nodes! log.error(sm.getString("ReplicationValve.send.failure"), e); } finally { if (doStatistics()) { @@ -499,7 +506,7 @@ protected void sendInvalidSessions(ClusterManager manager) { try { send(manager, invalidId); } catch (Exception e) { - log.error(sm.getString("ReplicationValve.send.invalid.failure", invalidId), e); + log.error(sm.getString("ReplicationValve.send.failure"), e); } } } diff --git a/test/org/apache/tomcat/util/buf/TestStringUtils.java b/test/org/apache/tomcat/util/buf/TestStringUtils.java index b7ac950a2655..a4d22f022218 100644 --- a/test/org/apache/tomcat/util/buf/TestStringUtils.java +++ b/test/org/apache/tomcat/util/buf/TestStringUtils.java @@ -14,6 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.tomcat.util.buf; import java.util.Collection; @@ -74,4 +75,4 @@ public void testNullIterableCharFunctionStringBuilder() { StringUtils.join((Iterable) null, ',', null, sb); Assert.assertEquals("", sb.toString()); } -} +} \ No newline at end of file