This is an automated email from the ASF dual-hosted git repository. chaokunyang pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/fory-site.git
commit dee9672401a877bcfda840cb5b29cdd7a8fb2492 Author: chaokunyang <[email protected]> AuthorDate: Wed Feb 4 07:27:39 2026 +0000 🔄 synced local 'docs/guide/' with remote 'docs/guide/' --- docs/guide/go/troubleshooting.md | 2 +- docs/guide/java/configuration.md | 2 +- docs/guide/java/schema-evolution.md | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/guide/go/troubleshooting.md b/docs/guide/go/troubleshooting.md index fe3528c3b0..529bba8df4 100644 --- a/docs/guide/go/troubleshooting.md +++ b/docs/guide/go/troubleshooting.md @@ -189,7 +189,7 @@ f.Deserialize(fullData, &target) **Error**: `invalid reference ID` -**Cause**: Reference to non-existent object in serialized data. +**Cause**: Reference to non-existent or unknown object in serialized data. **Solutions**: diff --git a/docs/guide/java/configuration.md b/docs/guide/java/configuration.md index b600bb1b7d..b0b2a93632 100644 --- a/docs/guide/java/configuration.md +++ b/docs/guide/java/configuration.md @@ -42,7 +42,7 @@ This page documents all configuration options available through `ForyBuilder`. | `metaShareEnabled` | Enables or disables meta share mode. [...] | `scopedMetaShareEnabled` | Scoped meta share focuses on a single serialization process. Metadata created or identified during this process is exclusive to it and is not shared with by other serializations. [...] | `metaCompressor` | Set a compressor for meta compression. Note that the passed MetaCompressor should be thread-safe. By default, a `Deflater` based compressor `DeflaterMetaCompressor` will be used. Users can pass other compressor such as `zstd` for better compression rate. [...] -| `deserializeNonexistentClass` | Enables or disables deserialization/skipping of data for non-existent classes. [...] +| `deserializeUnknownClass` | Enables or disables deserialization/skipping of data for non-existent or unknown classes. [...] | `codeGenEnabled` | Disabling may result in faster initial serialization but slower subsequent serializations. [...] | `asyncCompilationEnabled` | If enabled, serialization uses interpreter mode first and switches to JIT serialization after async serializer JIT for a class is finished. [...] | `scalaOptimizationEnabled` | Enables or disables Scala-specific serialization optimization. [...] diff --git a/docs/guide/java/schema-evolution.md b/docs/guide/java/schema-evolution.md index c1f8d5e566..c2be9b1692 100644 --- a/docs/guide/java/schema-evolution.md +++ b/docs/guide/java/schema-evolution.md @@ -19,7 +19,7 @@ license: | limitations under the License. --- -This page covers schema evolution, meta sharing, and handling non-existent classes. +This page covers schema evolution, meta sharing, and handling non-existent/unknown classes. ## Handling Class Schema Evolution @@ -98,15 +98,15 @@ Object newObj = fory.execute( For more details, please refer to the [Meta Sharing specification](https://fory.apache.org/docs/specification/fory_java_serialization_spec#meta-share). -## Deserialize Non-existent Classes +## Deserialize Unknown Classes -Fory supports deserializing non-existent classes. This feature can be enabled by `ForyBuilder#deserializeNonexistentClass(true)`. +Fory supports deserializing non-existent or unknown classes. This feature can be enabled by `ForyBuilder#deserializeUnknownClass(true)`. When enabled and metadata sharing is enabled, Fory will store the deserialized data of this type in a lazy subclass of Map. By using the lazy map implemented by Fory, the rebalance cost of filling map during deserialization can be avoided, which further improves performance. If this data is sent to another process and the class exists in this process, the data will be deserialized into the object of this type without losing any information. -If metadata sharing is not enabled, the new class data will be skipped and a `NonexistentSkipClass` stub object will be returned. +If metadata sharing is not enabled, the new class data will be skipped and a `UnknownSkipClass` stub object will be returned. ## Copy/Map Object from One Type to Another @@ -192,14 +192,14 @@ public class DeserializeIntoType { ## Configuration Options -| Option | Description | Default | -| ----------------------------- | ----------------------------------- | ------------------------- | -| `compatibleMode` | `SCHEMA_CONSISTENT` or `COMPATIBLE` | `SCHEMA_CONSISTENT` | -| `checkClassVersion` | Check class schema consistency | `false` | -| `metaShareEnabled` | Enable meta sharing | `true` if Compatible mode | -| `scopedMetaShareEnabled` | Scoped meta share per serialization | `true` if Compatible mode | -| `deserializeNonexistentClass` | Handle non-existent classes | `true` if Compatible mode | -| `metaCompressor` | Compressor for meta compression | `DeflaterMetaCompressor` | +| Option | Description | Default | +| ------------------------- | -------------------------------------- | ------------------------- | +| `compatibleMode` | `SCHEMA_CONSISTENT` or `COMPATIBLE` | `SCHEMA_CONSISTENT` | +| `checkClassVersion` | Check class schema consistency | `false` | +| `metaShareEnabled` | Enable meta sharing | `true` if Compatible mode | +| `scopedMetaShareEnabled` | Scoped meta share per serialization | `true` if Compatible mode | +| `deserializeUnknownClass` | Handle non-existent or unknown classes | `true` if Compatible mode | +| `metaCompressor` | Compressor for meta compression | `DeflaterMetaCompressor` | ## Best Practices --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
