Skip to content

Commit 018f2b4

Browse files
authored
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"
1 parent 76b647f commit 018f2b4

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

geode-docs/developing/data_serialization/PDX_Serialization_Features.html.md.erb

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,25 @@ When you serialize an object using PDX, <%=vars.product_name%> stores the object
3131

3232
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 the part of the server.
3333

34+
**Note:**
35+
36+
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.
37+
38+
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:
39+
40+
- old clients have fresh information
41+
- the central registry has outdated information
42+
- new clients have outdated information
43+
44+
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.
45+
46+
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 store consistent PDX type information.
47+
48+
| Name | Default | Client type |
49+
|-------------------------------------------|---------|---------------|
50+
| `gemfire.ON_DISCONNECT_CLEAR_PDXTYPEIDS` | `false` | Java Client |
51+
| `on-client-disconnect-clear-pdxType-Ids` | `false` | Native Client |
52+
3453
## <a id="concept_F02E40517C4B42F2A75B133BB507C626__section_08C901A3CF3E438C8778F09D482B9A63" class="no-quick-link"></a>Reduced Deserialization of Serialized Objects
3554

3655
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.

0 commit comments

Comments
 (0)