Skip to content

Commit 9f742b7

Browse files
committed
Enh 37450111 - [37137606->24.09.1] ENH: Improve proxy log message to include serializer type mismatch between the server and client.
(auto-submit 113358 after successfully running remote remote.full) Job ID: job.9.20250110161055.4220 [git-p4: depot-paths = "//dev/coherence-ce/release/coherence-ce-v24.09/": change = 113375]
1 parent 48aa4f4 commit 9f742b7

File tree

3 files changed

+23
-19
lines changed
  • prj/coherence-core-components
    • src/main/java/com/tangosol/coherence/component/util/daemon/queueProcessor/service

3 files changed

+23
-19
lines changed

README.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
2+
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
33
44
Licensed under the Universal Permissive License v 1.0 as shown at
55
https://oss.oracle.com/licenses/upl.
@@ -101,8 +101,8 @@ Coherence Maps provide a number of features:
101101

102102
* Fundamental **key-based access**: get/put getAll/putAll.
103103
* Client-side and storage-side events:
104-
* **MapListeners** to asynchronously notify clients of changes to data.
105-
* **EventInterceptors** (either sync or async) to be notified storage level events, including
104+
* **MapListeners** to asynchronously notify clients of changes to data.
105+
* **EventInterceptors** (either sync or async) to be notified storage level events, including
106106
mutations, partition transfer, failover, and so on.
107107
* **NearCaches** - Locally cached data based on previous requests with local content
108108
invalidated upon changes in the storage tier.
@@ -130,10 +130,13 @@ the storage capacity, the cluster, and parallelizable subscribers.
130130
* **Repository API** - a framework implementing the Repository pattern from Domain-Driven Design,
131131
abstracting persistent storage implementation from application code, with advanced features like
132132
support for pagination, projections, streaming, and updating in-place
133-
* **Microservices integration** - broad and close integration with Helidon, Micronaut, and Spring for
134-
developing microservices applications using Coherence as a data source or cache
135-
* **coherence-concurrent** - Coherence-backed implementations of types from the `java.util.concurrent`
136-
package enabling distributed process coordination through the grid
133+
* **coherence-concurrent** - Coherence-backed implementations of types from the `java.util.concurrent` package enabling distributed process coordination through the grid
134+
* **Atomics** - for implementing e.g. atomic counters shared between cluster, with an optional asynchronous API
135+
* **Executors** - for submitting tasks to be executed in the cluster
136+
* **Locks** - for implementing lock-based concurrency control across multiple cluster members
137+
* **Queues** - for implementing blocking queue / dequeue behavior across multiple cluster members
138+
* **Semaphores** - for implementing synchronization of execution across multiple cluster members
139+
* **Microservices integration** - broad and close integration with [Helidon](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.2/integrate/index.html), [Micronaut](https://micronaut-projects.github.io/micronaut-coherence/latest/guide/), and [Spring](https://spring.coherence.community/4.3.0/#/about/01_overview) for developing microservices applications using Coherence as a data source or cache
137140

138141
Coherence also provides a number of non-functional features:
139142

prj/coherence-core-components/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
3-
~ Copyright (c) 2000, 2024, Oracle and/or its affiliates.
3+
~ Copyright (c) 2000, 2025, Oracle and/or its affiliates.
44
~
55
~ Licensed under the Universal Permissive License v 1.0 as shown at
66
~ https://oss.oracle.com/licenses/upl.

prj/coherence-core-components/src/main/java/com/tangosol/coherence/component/util/daemon/queueProcessor/service/Peer.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2000, 2024, Oracle and/or its affiliates.
2+
* Copyright (c) 2000, 2025, Oracle and/or its affiliates.
33
*
44
* Licensed under the Universal Permissive License v 1.0 as shown at
55
* https://oss.oracle.com/licenses/upl.
@@ -1804,8 +1804,8 @@ public void onMessage(com.tangosol.net.messaging.Message message)
18041804
message.run();
18051805
}
18061806

1807-
/**
1808-
* Called when an exception occurs during Message decoding. This method is
1807+
/**
1808+
* Called when an exception occurs during Message decoding. This method is
18091809
* called on the service thread.
18101810
*
18111811
* @param e the Throwable thrown during decoding
@@ -1815,13 +1815,13 @@ public void onMessage(com.tangosol.net.messaging.Message message)
18151815
* configured WrapperStreamFactory objects
18161816
*
18171817
* @see #onNotify
1818-
*/
1818+
*/
18191819
protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.BufferInput in, com.tangosol.coherence.component.net.extend.Connection connection, boolean fFilter)
18201820
{
18211821
// import Component.Net.Extend.Channel;
18221822
// import Component.Net.Extend.Connection;
18231823
// import java.io.IOException;
1824-
1824+
18251825
// resolve the Channel
18261826
Channel channel;
18271827
try
@@ -1833,7 +1833,7 @@ protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.
18331833
}
18341834
channel = (Channel) connection.getChannel(in.readPackedInt());
18351835
}
1836-
catch (IOException ee)
1836+
catch (IOException ioe)
18371837
{
18381838
channel = null;
18391839
}
@@ -1845,13 +1845,14 @@ protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.
18451845

18461846
if (channel != null)
18471847
{
1848-
sb.append(" This service is configured with a serializer: ")
1848+
sb.append(String.format(" This service is using serializer \"%s\": ", channel.getSerializer().getName()))
18491849
.append(channel.getSerializer())
1850-
.append(", which may be incompatible with the serializer configured by the connecting client.");
1850+
.append(", which is different or incompatible with the serializer being used by the connecting client.")
1851+
.append(String.format(" Please ensure connecting client is using the same serializer as the one configured for this service"));
18511852
}
1852-
1853+
18531854
_trace(e, sb.toString());
1854-
1855+
18551856
// close the Channel or Connection
18561857
if (channel == null || !channel.isOpen() || channel.getId() == 0)
18571858
{
@@ -1862,7 +1863,7 @@ protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.
18621863
channel.close(true, e);
18631864
}
18641865
}
1865-
1866+
18661867
/**
18671868
* Called when an exception occurs during Message encoding. This method is
18681869
* called on both client and service threads.

0 commit comments

Comments
 (0)