This is an automated email from the ASF dual-hosted git repository.
alberto pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 018f2b4a85 GEODE-10423: Document the system property
“ON_DISCONNECT_CLEAR_PDXTYP… (#7861)
018f2b4a85 is described below
commit 018f2b4a8531939ad7500130bb37d6bae73455cf
Author: Tim Zhang <[email protected]>
AuthorDate: Mon Oct 10 15:14:54 2022 +0800
GEODE-10423: Document the system property “ON_DISCONNECT_CLEAR_PDXTYP…
(#7861)
* GEODE-10423: Document the system property “ON_DISCONNECT_CLEAR_PDXTYPEIDS“
Document the java system property “ON_DISCONNECT_CLEAR_PDXTYPEIDS“.
This property is used by Java client, add instructions for using this
property.
* GEODE-10423: Changes after review
* GEODE-10423: Changes after review
* GEODE-10423: Changes after review
* GEODE-10423: change "Applies to (Java Client, Native Client)" to "Client
type"
---
.../PDX_Serialization_Features.html.md.erb | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git
a/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
b/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
index 80cb36918c..31bbbb85f7 100644
---
a/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
+++
b/geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb
@@ -31,6 +31,25 @@ When you serialize an object using PDX,
<%=vars.product_name%> stores the object
This centralization of object type information is advantageous for
client/server installations in which clients and servers are written in
different languages. Clients pass registry information to servers automatically
when they store a PDX serialized object. Clients can run queries and functions
against the data in the servers without compatibility between server and the
stored objects. One client can store data on the server to be retrieved by
another client, with no requirements on th [...]
+**Note:**
+
+There are situations where some of the information in the central registry of
the PDX domain object metadata is lost, e.g. when restoring an old backup with
an outdated central registry.
+
+When that happens, new clients connecting to the cluster for the first time
will get outdated PDX type information from the central registry, but, since
information in the central registry is cached by clients, old clients may have
fresher information about PDX types than the central registry does. That will
result into inconsistent information about PDX types spread across the system:
+
+- old clients have fresh information
+- the central registry has outdated information
+- new clients have outdated information
+
+If old clients write entries of a PDX type they know but the central registry
doesn't, new clients will get "Unknown PDX type" errors when they read those
objects.
+
+To avoid this problem, clients may be configured with the system property in
the table below to clear their PDX type cache when they disconnect from the
cluster. After clearing their cache, old clients will re-generate type
information for all PDX types, including the types the central registry
"forgot". Since new PDX type information will be written in the central
registry before entries of that type are written in the cluster, the central
registry and all clients, old and new, will sto [...]
+
+| Name | Default | Client type |
+|-------------------------------------------|---------|---------------|
+| `gemfire.ON_DISCONNECT_CLEAR_PDXTYPEIDS` | `false` | Java Client |
+| `on-client-disconnect-clear-pdxType-Ids` | `false` | Native Client |
+
## <a
id="concept_F02E40517C4B42F2A75B133BB507C626__section_08C901A3CF3E438C8778F09D482B9A63"
class="no-quick-link"></a>Reduced Deserialization of Serialized Objects
The access methods of PDX serialized objects allow you to examine specific
fields of your domain object without deserializing the entire object. Depending
on your object usage, you can reduce serialization and deserialization costs
significantly.