Skip to content

Commit

Permalink
Enh 37450111 - [37137606->24.09.1] ENH: Improve proxy log message to …
Browse files Browse the repository at this point in the history
…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]
  • Loading branch information
chpatel3 committed Jan 10, 2025
1 parent 48aa4f4 commit 9f742b7
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 19 deletions.
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Licensed under the Universal Permissive License v 1.0 as shown at
https://oss.oracle.com/licenses/upl.
Expand Down Expand Up @@ -101,8 +101,8 @@ Coherence Maps provide a number of features:

* Fundamental **key-based access**: get/put getAll/putAll.
* Client-side and storage-side events:
* **MapListeners** to asynchronously notify clients of changes to data.
* **EventInterceptors** (either sync or async) to be notified storage level events, including
* **MapListeners** to asynchronously notify clients of changes to data.
* **EventInterceptors** (either sync or async) to be notified storage level events, including
mutations, partition transfer, failover, and so on.
* **NearCaches** - Locally cached data based on previous requests with local content
invalidated upon changes in the storage tier.
Expand Down Expand Up @@ -130,10 +130,13 @@ the storage capacity, the cluster, and parallelizable subscribers.
* **Repository API** - a framework implementing the Repository pattern from Domain-Driven Design,
abstracting persistent storage implementation from application code, with advanced features like
support for pagination, projections, streaming, and updating in-place
* **Microservices integration** - broad and close integration with Helidon, Micronaut, and Spring for
developing microservices applications using Coherence as a data source or cache
* **coherence-concurrent** - Coherence-backed implementations of types from the `java.util.concurrent`
package enabling distributed process coordination through the grid
* **coherence-concurrent** - Coherence-backed implementations of types from the `java.util.concurrent` package enabling distributed process coordination through the grid
* **Atomics** - for implementing e.g. atomic counters shared between cluster, with an optional asynchronous API
* **Executors** - for submitting tasks to be executed in the cluster
* **Locks** - for implementing lock-based concurrency control across multiple cluster members
* **Queues** - for implementing blocking queue / dequeue behavior across multiple cluster members
* **Semaphores** - for implementing synchronization of execution across multiple cluster members
* **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

Coherence also provides a number of non-functional features:

Expand Down
2 changes: 1 addition & 1 deletion prj/coherence-core-components/pom.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2000, 2024, Oracle and/or its affiliates.
~ Copyright (c) 2000, 2025, Oracle and/or its affiliates.
~
~ Licensed under the Universal Permissive License v 1.0 as shown at
~ https://oss.oracle.com/licenses/upl.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2024, Oracle and/or its affiliates.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates.
*
* Licensed under the Universal Permissive License v 1.0 as shown at
* https://oss.oracle.com/licenses/upl.
Expand Down Expand Up @@ -1804,8 +1804,8 @@ public void onMessage(com.tangosol.net.messaging.Message message)
message.run();
}

/**
* Called when an exception occurs during Message decoding. This method is
/**
* Called when an exception occurs during Message decoding. This method is
* called on the service thread.
*
* @param e the Throwable thrown during decoding
Expand All @@ -1815,13 +1815,13 @@ public void onMessage(com.tangosol.net.messaging.Message message)
* configured WrapperStreamFactory objects
*
* @see #onNotify
*/
*/
protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.BufferInput in, com.tangosol.coherence.component.net.extend.Connection connection, boolean fFilter)
{
// import Component.Net.Extend.Channel;
// import Component.Net.Extend.Connection;
// import java.io.IOException;

// resolve the Channel
Channel channel;
try
Expand All @@ -1833,7 +1833,7 @@ protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.
}
channel = (Channel) connection.getChannel(in.readPackedInt());
}
catch (IOException ee)
catch (IOException ioe)
{
channel = null;
}
Expand All @@ -1845,13 +1845,14 @@ protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.

if (channel != null)
{
sb.append(" This service is configured with a serializer: ")
sb.append(String.format(" This service is using serializer \"%s\": ", channel.getSerializer().getName()))
.append(channel.getSerializer())
.append(", which may be incompatible with the serializer configured by the connecting client.");
.append(", which is different or incompatible with the serializer being used by the connecting client.")
.append(String.format(" Please ensure connecting client is using the same serializer as the one configured for this service"));
}

_trace(e, sb.toString());

// close the Channel or Connection
if (channel == null || !channel.isOpen() || channel.getId() == 0)
{
Expand All @@ -1862,7 +1863,7 @@ protected void onMessageDecodeException(Throwable e, com.tangosol.io.ReadBuffer.
channel.close(true, e);
}
}

/**
* Called when an exception occurs during Message encoding. This method is
* called on both client and service threads.
Expand Down

0 comments on commit 9f742b7

Please sign in to comment.