(incubator-fury) branch main updated: feat(java): scoped meta share mode for type forward/backward compaibility (#1660)

2024-05-29 Thread chaokunyang
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/incubator-fury.git


The following commit(s) were added to refs/heads/main by this push:
 new a0a6d7b7 feat(java): scoped meta share mode for type forward/backward 
compaibility (#1660)
a0a6d7b7 is described below

commit a0a6d7b7f494f167ac46592dfc8b2a8c4706c5f2
Author: Shawn Yang 
AuthorDate: Thu May 30 14:19:29 2024 +0800

feat(java): scoped meta share mode for type forward/backward compaibility 
(#1660)

## What does this PR do?

This PR implements scoped meta share mode for type forward/backward
compaibility

## Related issues

#202


## Does this PR introduce any user-facing change?



- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?


## Benchmark
Perf increased from `1900102.586` to `2430410.064`
```
Before:

Benchmark   
(bufferType)   (objectType)  (references)   Mode  CntScoreError 
 Units
fury_deserialize  array  MEDIA_CONTENT 
false  thrpt   10  2734151.212 ± 253921.628  ops/s
fury_deserialize_compatible   array  MEDIA_CONTENT 
false  thrpt   10  1900102.586 ±  62176.872  ops/s
furymetashared_deserialize_compatible array  MEDIA_CONTENT 
false  thrpt   10  3011439.327 ± 260518.752  ops/s

After:

Benchmark   
(bufferType)   (objectType)  (references)   Mode  CntScoreError 
 Units
fury_deserialize  array  MEDIA_CONTENT 
false  thrpt   10  2661186.814 ± 279377.198  ops/s
fury_deserialize_compatible   array  MEDIA_CONTENT 
false  thrpt   10  2430410.064 ± 164165.865  ops/s
furymetashared_deserialize_compatible array  MEDIA_CONTENT 
false  thrpt   10  3098083.064 ± 259391.053  ops/s
```

Size decreased from **732 to 577**:
```
Before
2024-05-30 01:00:49 INFO  FuryState:157 
[fury_deserialize_compatible-jmh-worker-1] - ==> Fury | MEDIA_CONTENT | 
false | array | 732 |

After
2024-05-30 12:57:00 INFO  FuryState:157 
[fury_deserialize_compatible-jmh-worker-1] - ==> Fury | MEDIA_CONTENT | 
false | array | 577 |
```

The
---
 .../integration_tests/RecordSerializersTest.java   |   8 +-
 java/benchmark/pom.xml |   6 ++
 .../fury/benchmark/UserTypeDeserializeSuite.java   |   8 +-
 .../fury/benchmark/UserTypeSerializeSuite.java |   6 +-
 .../org/apache/fury/benchmark/state/FuryState.java |   8 +-
 .../org/apache/fury/benchmark/state/KryoState.java |   4 +
 .../src/main/java/org/apache/fury/Fury.java|  20 ++--
 .../fury/builder/MetaSharedCodecBuilder.java   |   2 +-
 .../apache/fury/builder/ObjectCodecBuilder.java|   2 +-
 .../main/java/org/apache/fury/config/Config.java   |  26 --
 .../java/org/apache/fury/config/FuryBuilder.java   |  19 +++-
 .../main/java/org/apache/fury/meta/ClassDef.java   |  48 +-
 .../java/org/apache/fury/meta/ClassDefDecoder.java |  28 ++
 .../java/org/apache/fury/meta/ClassDefEncoder.java |  53 ++-
 .../main/java/org/apache/fury/meta/ClassSpec.java  |  54 +++
 .../main/java/org/apache/fury/meta/Encoders.java   |  66 +
 .../org/apache/fury/reflect/ReflectionUtils.java   |   5 +-
 .../java/org/apache/fury/resolver/ClassInfo.java   |  29 +-
 .../org/apache/fury/resolver/ClassResolver.java| 103 -
 .../apache/fury/resolver/SerializationContext.java |  46 -
 .../apache/fury/serializer/ArraySerializers.java   |   4 +
 .../fury/serializer/MetaSharedSerializer.java  |   5 +-
 .../apache/fury/serializer/NonexistentClass.java   |  17 +++-
 .../serializer/NonexistentClassSerializers.java|   4 +-
 .../apache/fury/serializer/ObjectSerializer.java   |  14 +--
 .../collection/AbstractCollectionSerializer.java   |   4 +-
 .../src/test/java/org/apache/fury/CyclicTest.java  |   2 +-
 .../test/java/org/apache/fury/FuryInitPerf.java|   6 +-
 .../java/org/apache/fury/ThreadSafeFuryTest.java   |   3 +-
 .../org/apache/fury/meta/ClassDefEncoderTest.java  |   7 +-
 .../java/org/apache/fury/meta/ClassDefTest.java|   6 +-
 .../apache/fury/reflect/ReflectionUtilsTest.java   |  31 +++
 .../org/apache/fury/resolver/MetaContextTest.java  |   6 +-
 .../fury/resolver/SerializationContextTest.java|   6 +-
 .../fury/serializer/MetaSharedCompatibleTest.java  |  34 +++
 .../NonexistentClassSerializersTest.java   |  46 +
 .../serializer/ProtocolInteroperabilityTest.java   |   4 +-
 .../collection/ChildContainerSerializersTest.java  |   3 

Re: [PR] feat(java): scoped meta share mode for type forward/backward compaibility [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on PR #1660:
URL: https://github.com/apache/incubator-fury/pull/1660#issuecomment-2138763606

   Struct perf:
   ```
   Before:
   fury_deserializearraySTRUCT false  thrpt 
  10  4103952.355 ± 461542.704  ops/s
   fury_deserialize_compatible arraySTRUCT false  thrpt 
  10  2104530.838 ± 283950.067  ops/s
   
   After:
   Benchmark (bufferType)  
(objectType)  (references)   Mode  CntScoreError  Units
   fury_deserializearraySTRUCT false  thrpt 
  10  3846945.672 ± 281139.320  ops/s
   fury_deserialize_compatible arraySTRUCT false  thrpt 
  10  3119394.319 ± 476422.038  ops/s
   ```
   
   Size:
   ```
   Before:
   2024-05-30 02:06:42 INFO  FuryState:157 [fury_deserialize-jmh-worker-1] - 
==> Fury | STRUCT | false | array | 710 |
   2024-05-30 02:07:19 INFO  FuryState:157 
[fury_deserialize_compatible-jmh-worker-1] - ==> Fury | STRUCT | false | 
array | 1134 |
   
   After:
   2024-05-30 02:01:16 INFO  FuryState:157 [fury_deserialize-jmh-worker-1] - 
==> Fury | STRUCT | false | array | 710 |
   2024-05-30 02:01:52 INFO  FuryState:157 
[fury_deserialize_compatible-jmh-worker-1] - ==> Fury | STRUCT | false | 
array | 1227 |
   ```
   
   Size bloat a little, we can optimize it later
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] feat(java): scoped meta share mode for type forward/backward compaibility [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang merged PR #1660:
URL: https://github.com/apache/incubator-fury/pull/1660


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] feat(java): scoped meta share mode for type forward/backward compaibility [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on PR #1660:
URL: https://github.com/apache/incubator-fury/pull/1660#issuecomment-2138761020

   > encodeClassDef
   
   Would you like to submit a PR?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] feat(java): scoped meta share mode for type forward/backward compaibility [incubator-fury]

2024-05-29 Thread via GitHub


MrChang0 commented on PR #1660:
URL: https://github.com/apache/incubator-fury/pull/1660#issuecomment-2138758064

   It fine for me, I will try to experiment this feature.
   btw, how about increase that init buffer size in 
`org.apache.fury.meta.ClassDefEncoder#encodeClassDef`. take less growth operate 
may take more performance.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] feat(java): Implement classId related logic [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui commented on PR #1661:
URL: https://github.com/apache/incubator-fury/pull/1661#issuecomment-2138649835

   Hi @chaokunyang , could you help me check if there is any problem with the 
implementation logic? If there is no problem, I will handle CI related errors.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[PR] feat(java): Implement classId related logic [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui opened a new pull request, #1661:
URL: https://github.com/apache/incubator-fury/pull/1661

   
   
   ## What does this PR do?
   
   
   Implementing xlang_spec typeId.
   
   ## Related issues
   
   
   https://github.com/apache/incubator-fury/pull/1413
   
   ## Does this PR introduce any user-facing change?
   
   
   
   - [ ] Does this PR introduce any public API change?
   - [ ] Does this PR introduce any binary protocol compatibility change?
   
   
   ## Benchmark
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" is working again!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has succeeded.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
651461f6928c2fce1e41e585f1dc9a65ab0275d6 / chaokunyang 
fix ext meta

Report URL: https://github.com/apache/incubator-fury/actions/runs/9296174162

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] [Community] add fury release documentation [incubator-fury-site]

2024-05-29 Thread via GitHub


chaokunyang merged PR #109:
URL: https://github.com/apache/incubator-fury-site/pull/109


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



(incubator-fury-site) branch main updated: [Community] add fury release documentation (#109)

2024-05-29 Thread chaokunyang
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/incubator-fury-site.git


The following commit(s) were added to refs/heads/main by this push:
 new d7dcd04  [Community] add fury release documentation (#109)
d7dcd04 is described below

commit d7dcd04d7831e3e669435526c34981a8c9d71000
Author: Shawn Yang 
AuthorDate: Thu May 30 10:45:19 2024 +0800

[Community] add fury release documentation (#109)

# What this PR do?

This release doc is referenced from opendal and streampark, thanks for
their great work.

The website screencut:



![image](https://github.com/apache/incubator-fury-site/assets/12445254/e6117b8e-3223-4d9a-90b2-8cf587e97ea9)


![image](https://github.com/apache/incubator-fury-site/assets/12445254/30fc6ce7-f5c4-4abe-a7c5-1d97301b2e5c)

# Related issue
https://github.com/apache/incubator-fury/issues/1421
https://github.com/apache/incubator-fury/issues/1389
---
 docs/community/how_to_release.md | 508 +++
 docs/community/how_to_verify.md  | 117 +
 docusaurus.config.ts |   6 +
 sidebars.ts  |   2 +-
 4 files changed, 632 insertions(+), 1 deletion(-)

diff --git a/docs/community/how_to_release.md b/docs/community/how_to_release.md
new file mode 100644
index 000..0db88b4
--- /dev/null
+++ b/docs/community/how_to_release.md
@@ -0,0 +1,508 @@
+---
+title: How to release
+sidebar_position: 0
+id: how_to_release
+---
+
+This document mainly introduces how the release manager releases a new version 
of Apache Fury.
+
+## Introduction
+
+Source Release is the most important part which Apache values.
+
+Please pay more attention to license and signing issues.
+Publishing software is a serious thing and has legal consequences. 
+
+## First-time as a release manager
+
+### Environmental requirements
+This release process is operated in the Ubuntu OS, and the following tools are 
required:
+
+- JDK 1.8
+- Apache Maven 3.x
+- Python 3.8
+- GnuPG 2.x
+- Git
+- SVN (apache uses svn to host project releases)
+- Pay attention to setting environment variables: if you configure gpg keys 
under a different directory, please `export GNUPGHOME=$(xxx)`
+
+### Prepare GPG Key
+If you are the first to become a release manager, you need to prepare a gpg 
key. 
+
+Following is a quick setup, you can refer to [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please use your apache name and email for generate key
+```bash
+$ gpg --full-gen-key
+gpg (GnuPG) 2.2.20; Copyright (C) 2020 Free Software Foundation, Inc.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Please select what kind of key you want:
+   (1) RSA and RSA (default)
+   (2) DSA and Elgamal
+   (3) DSA (sign only)
+   (4) RSA (sign only)
+  (14) Existing key from card
+Your selection? 1 # input 1
+RSA keys may be between 1024 and 4096 bits long.
+What keysize do you want? (2048) 4096 # input 4096
+Requested keysize is 4096 bits
+Please specify how long the key should be valid.
+ 0 = key does not expire
+= key expires in n days
+  w = key expires in n weeks
+  m = key expires in n months
+  y = key expires in n years
+Key is valid for? (0) 0 # input 0
+Key does not expire at all
+Is this correct? (y/N) y # input y
+
+GnuPG needs to construct a user ID to identify your key.
+
+Real name: Chaokun Yang   # input your name
+Email address: chaokuny...@apache.org # input your email
+Comment: CODE SIGNING KEY # input some annotations, optional
+You selected this USER-ID:
+"Chaokun "
+
+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O # input O
+We need to generate a lot of random bytes. It is a good idea to perform
+some other action (type on the keyboard, move the mouse, utilize the
+disks) during the prime generation; this gives the random number
+generator a better chance to gain enough entropy.
+We need to generate a lot of random bytes. It is a good idea to perform
+some other action (type on the keyboard, move the mouse, utilize the
+disks) during the prime generation; this gives the random number
+generator a better chance to gain enough entropy.
+
+# Input the security key
+┌──┐
+│ Please enter this passphrase │
+│  │
+│ Passphrase: ___  │
+│  │
+│  │
+└──┘
+# key generation will be done after your inputting the key with the following 
output

Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui closed pull request #1650: perf(java): Lower the threshold for 
multi-byte reading
URL: https://github.com/apache/incubator-fury/pull/1650


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1619718644


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   As discussed in WeChat, this solution only benefits the last 4 bytes, but it 
will introduce extra code, causing the bytecode of this method to become 
larger. In most cases, this optimization will not take effect, so close this PR.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" failed!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has failed.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
0f8dedb8347cc226b2faeda9867c099c6a21faa2 / chaokunyang 
lint code

Report URL: https://github.com/apache/incubator-fury/actions/runs/9290741519

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" failed!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has failed.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
44eeb129b4c1a4db954a7f0cdcc960bf277fdae7 / chaokunyang 
fix SerializationContextTest.java

Report URL: https://github.com/apache/incubator-fury/actions/runs/9290625536

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [I] [Java] Meta compression [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang closed issue #203: [Java] Meta compression
URL: https://github.com/apache/incubator-fury/issues/203


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" failed!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has failed.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
3a156b4ced5fc5beac194aa8475f86db4d6f21d3 / chaokunyang 
fix enum morphic

Report URL: https://github.com/apache/incubator-fury/actions/runs/9288723189

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] feat(java): scoped meta share mode for type forward/backward compaibility [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on PR #1660:
URL: https://github.com/apache/incubator-fury/pull/1660#issuecomment-2137673589

   Hi @MrChang0, this PR should make the meta share mode replace kv compatible 
mode for better performance and smaller space cost


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[PR] feat(java): scoped meta share mode for type forward/backward compaibility [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang opened a new pull request, #1660:
URL: https://github.com/apache/incubator-fury/pull/1660

   
   
   ## What does this PR do?
   
   This PR implements scoped meta share mode for type forward/backward 
compaibility
   
   ## Related issues
   
   #202 
   
   
   ## Does this PR introduce any user-facing change?
   
   
   
   - [ ] Does this PR introduce any public API change?
   - [ ] Does this PR introduce any binary protocol compatibility change?
   
   
   ## Benchmark
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618894452


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   You read five bytes, but you just check 4 bytes here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618894899


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   The readVarUint36Slow is very rare, only last five bytes of the whole binary 
will go to this path. So we try to reduce the check in critical path



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [I] Fury 0.5.1 Deserialize Error [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on issue #1656:
URL: 
https://github.com/apache/incubator-fury/issues/1656#issuecomment-2137422321

   It fails at :
   
![image](https://github.com/apache/incubator-fury/assets/12445254/94fff95e-649b-4f52-9ae8-7f93bbba1537)
   
   The serialization and deserialization has different schema, could you share 
the classdef of your serialization peer?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618881357


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   So the five consecutive `getByte` calls in `readVarUint36Slow` are no 
different from `UNSAFE.getInt + UNSAFE.getByte`. They all have read checks for 
`(fourByteValue & 0x8000) != 0` and `(b & 0x80) != 0`.
   
   We only need to ensure that `size - readIdx >= 4` to use `UNSAFE.getInt` to 
read the content normally.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



(incubator-fury) branch main updated: fix(java): fix scala object type codegen (#1659)

2024-05-29 Thread chaokunyang
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/incubator-fury.git


The following commit(s) were added to refs/heads/main by this push:
 new 3f5cf314 fix(java): fix scala object type codegen (#1659)
3f5cf314 is described below

commit 3f5cf31461cfed1f2c1d0f5b620529fe4abb6f40
Author: Shawn Yang 
AuthorDate: Wed May 29 21:13:23 2024 +0800

fix(java): fix scala object type codegen (#1659)

## What does this PR do?

fix scala object type codegen

## Related issues

Closes #1658

## Does this PR introduce any user-facing change?



- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?


## Benchmark


---
 .../org/apache/fury/codegen/CodegenContext.java|  9 +++---
 .../java/org/apache/fury/codegen/Expression.java   |  2 +-
 .../org/apache/fury/reflect/ReflectionUtils.java   |  9 --
 .../main/java/org/apache/fury/type/TypeUtils.java  |  4 +--
 java/fury-testsuite/pom.xml|  6 
 .../java/org/apache/fury/test/SparkTypeTest.java   | 34 +-
 .../serializer/SingleObjectSerializerTest.scala|  2 +-
 7 files changed, 34 insertions(+), 32 deletions(-)

diff --git 
a/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java 
b/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java
index 624e55e9..4a324f14 100644
--- a/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java
+++ b/java/fury-core/src/main/java/org/apache/fury/codegen/CodegenContext.java
@@ -252,8 +252,7 @@ public class CodegenContext {
 if (clz.isArray()) {
   return "arr";
 } else {
-  String canonicalName = clz.getCanonicalName();
-  String type = canonicalName != null ? type(clz) : "Object";
+  String type = clz.getCanonicalName() != null ? type(clz) : "Object";
   int index = type.lastIndexOf(".");
   String name;
   if (index >= 0) {
@@ -283,7 +282,7 @@ public class CodegenContext {
 if (clz.isArray()) {
   return getArrayType(clz);
 }
-String type = ReflectionUtils.getCanonicalName(clz);
+String type = ReflectionUtils.getLiteralName(clz);
 if (type.startsWith("java.lang")) {
   if (!type.substring("java.lang.".length()).contains(".")) {
 String simpleName = clz.getSimpleName();
@@ -360,7 +359,7 @@ public class CodegenContext {
*/
   public void addImports(Class... classes) {
 for (Class clz : classes) {
-  imports.add(ReflectionUtils.getCanonicalName(clz));
+  imports.add(ReflectionUtils.getLiteralName(clz));
 }
   }
 
@@ -382,7 +381,7 @@ public class CodegenContext {
* @param cls class to be imported
*/
   public void addImport(Class cls) {
-this.imports.add(ReflectionUtils.getCanonicalName(cls));
+this.imports.add(ReflectionUtils.getLiteralName(cls));
   }
 
   /**
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java 
b/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java
index d2572f77..36cdeb44 100644
--- a/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java
+++ b/java/fury-core/src/main/java/org/apache/fury/codegen/Expression.java
@@ -343,7 +343,7 @@ public interface Expression {
   if (valueClass.isArray()) {
 v = String.format("%s.class", TypeUtils.getArrayType((Class) 
value));
   } else {
-v = String.format("%s.class", 
ReflectionUtils.getCanonicalName((Class) (value)));
+v = String.format("%s.class", 
ReflectionUtils.getLiteralName((Class) (value)));
   }
   return new ExprCode(FalseLiteral, new LiteralValue(javaType, v));
 } else {
diff --git 
a/java/fury-core/src/main/java/org/apache/fury/reflect/ReflectionUtils.java 
b/java/fury-core/src/main/java/org/apache/fury/reflect/ReflectionUtils.java
index d837896c..f641f14a 100644
--- a/java/fury-core/src/main/java/org/apache/fury/reflect/ReflectionUtils.java
+++ b/java/fury-core/src/main/java/org/apache/fury/reflect/ReflectionUtils.java
@@ -554,17 +554,22 @@ public class ReflectionUtils {
   }
 
   /**
-   * Returns the canonical name of the underlying class as defined by 
The Java Language
+   * Returns the literal name of the underlying class as defined by The 
Java Language
* Specification. Throw {@link IllegalArgumentException} if the 
underlying class does not
* have a canonical name(i.e., if it is a local or anonymous class or an 
array whose component
* type does not have a canonical name).
*
* @throws IllegalArgumentException if the canonical name of the underlying 
class doesn't exist.
*/
-  public static String getCanonicalName(Class cls) {
+  public static String getLiteralName(Class cls) {
 String canonicalName = cls.getCanonicalName();
 

Re: [I] Scala object type field serialization failure [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang closed issue #1658: Scala object type field serialization failure
URL: https://github.com/apache/incubator-fury/issues/1658


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] fix(java): fix scala object type codegen [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang merged PR #1659:
URL: https://github.com/apache/incubator-fury/pull/1659


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" is working again!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has succeeded.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
33e2697ab33086a71f126631bee4fea09b99b4bc / chaokunyang 
add header

Report URL: https://github.com/apache/incubator-fury/actions/runs/928768

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" failed!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has failed.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
a6e2902962359d3d577749e9db672008955aed3d / chaokunyang 
fix scala object type codegen

Report URL: https://github.com/apache/incubator-fury/actions/runs/9286629190

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618852855


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   As you can see, we have `address + readIdx++`. It will read the 5rd bytes 
without range check. This will crash jvm if we don't have such big buffer or 
data is maliciously constructed
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[PR] fix(java): fix scala object type codegen [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang opened a new pull request, #1659:
URL: https://github.com/apache/incubator-fury/pull/1659

   
   ## What does this PR do?
   
   fix scala object type codegen
   
   ## Related issues
   
   Closes #1658
   
   ## Does this PR introduce any user-facing change?
   
   
   
   - [ ] Does this PR introduce any public API change?
   - [ ] Does this PR introduce any binary protocol compatibility change?
   
   
   ## Benchmark
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[I] Scala object type field serialization failure [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang opened a new issue, #1658:
URL: https://github.com/apache/incubator-fury/issues/1658

   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/incubator-fury/issues) and found no similar 
issues.
   
   
   ### Version
   
   0.5.1
   
   ### Component(s)
   
   Java
   
   ### Minimal reproduce step
   
   ```java
   public class SparkTypeTest extends TestBase {
 @Test(dataProvider = "enableCodegen")
 public void testObjectType(boolean enableCodegen) {
   Fury fury = 
builder().withRefTracking(true).withCodegen(enableCodegen).build();
   fury.serialize(DecimalType$.MODULE$);
   fury.serialize(new DecimalType(10, 10));
 }
   }
   ```
   
   Spark 2.4.1
   
   ### What did you expect to see?
   
   No compile error
   
   ### What did you see instead?
   
   ```
   java.lang.RuntimeException: Create sequential serializer failed, 
   class: class org.apache.spark.sql.types.DecimalType
at 
org.apache.fury.serializer.CodegenSerializer.loadCodegenSerializer(CodegenSerializer.java:52)
at 
org.apache.fury.resolver.ClassResolver.lambda$getObjectSerializerClass$2(ClassResolver.java:954)
at 
org.apache.fury.builder.JITContext.registerSerializerJITCallback(JITContext.java:131)
at 
org.apache.fury.resolver.ClassResolver.getObjectSerializerClass(ClassResolver.java:952)
at 
org.apache.fury.resolver.ClassResolver.getSerializerClass(ClassResolver.java:885)
at 
org.apache.fury.resolver.ClassResolver.getSerializerClass(ClassResolver.java:782)
at 
org.apache.fury.resolver.ClassResolver.createSerializer(ClassResolver.java:1168)
at 
org.apache.fury.resolver.ClassResolver.getClassInfo(ClassResolver.java:1062)
at 
org.apache.spark.sql.types.StructFieldFuryRefCodec_1_666988784_1856050011.writeClassAndObject$(StructFieldFuryRefCodec_1_666988784_1856050011.java:52)
at 
org.apache.spark.sql.types.StructFieldFuryRefCodec_1_666988784_1856050011.writeFields$(StructFieldFuryRefCodec_1_666988784_1856050011.java:74)
at 
org.apache.spark.sql.types.StructFieldFuryRefCodec_1_666988784_1856050011.write(StructFieldFuryRefCodec_1_666988784_1856050011.java:119)
at org.apache.fury.Fury.writeNonRef(Fury.java:441)
at 
org.apache.fury.serializer.ArraySerializers$ObjectArraySerializer.write(ArraySerializers.java:104)
at 
org.apache.fury.serializer.ArraySerializers$ObjectArraySerializer.write(ArraySerializers.java:42)
at 
org.apache.spark.sql.types.StructTypeFuryRefCodec_1_666988784_1735054408.writeClassAndObject$(StructTypeFuryRefCodec_1_666988784_1735054408.java:71)
at 
org.apache.spark.sql.types.StructTypeFuryRefCodec_1_666988784_1735054408.writeFields$(StructTypeFuryRefCodec_1_666988784_1735054408.java:137)
at 
org.apache.spark.sql.types.StructTypeFuryRefCodec_1_666988784_1735054408.write(StructTypeFuryRefCodec_1_666988784_1735054408.java:364)
at 
org.apache.fury.serializer.collection.CollectionSerializers$DefaultJavaCollectionSerializer.write(CollectionSerializers.java:541)
at org.apache.fury.Fury.writeNonRef(Fury.java:441)
at 
org.apache.fury.serializer.ArraySerializers$ObjectArraySerializer.write(ArraySerializers.java:104)
at 
org.apache.fury.serializer.ArraySerializers$ObjectArraySerializer.write(ArraySerializers.java:42)
at org.apache.fury.Fury.writeData(Fury.java:550)
at org.apache.fury.Fury.write(Fury.java:314)
at org.apache.fury.Fury.serialize(Fury.java:248)
at org.apache.fury.Fury.serialize(Fury.java:220)
at org.apache.fury.ThreadLocalFury.serialize(ThreadLocalFury.java:91)
at 
com.alibaba.sparklib.FurySerializerInstance.serialize(FurySerializer.scala:35)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:555)
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:955)
   Caused by: org.apache.fury.codegen.CodegenException: Compile error: 
   org.apache.spark.sql.types.DecimalTypeFuryRefCodec_1_666988784_533377181:
at org.apache.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:133)
at org.apache.fury.codegen.JaninoUtils.toBytecode(JaninoUtils.java:73)
at org.apache.fury.codegen.CodeGenerator.compile(CodeGenerator.java:145)
at 
org.apache.fury.builder.CodecUtils.loadOrGenCodecClass(CodecUtils.java:110)
at 
org.apache.fury.builder.CodecUtils.loadOrGenObjectCodecClass(CodecUtils.java:43)
at 
org.apache.fury.serializer.CodegenSerializer.loadCodegenSerializer(CodegenSerializer.java:49)
... 30 more
   Caused by: 
org.apache.fury.shaded.org.codehaus.commons.compiler.CompileException: File 
'org/apache/spark/sql/types/DecimalTypeFuryRefCodec_1_666988784_533377181.java',
 Li

Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618808382


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   > later result |= (UNSAFE.getByte(heapMemory, address + readIdx++) & 0x7F) 
<< 28; wqill read one more byte without check. If we lower threshold, we may 
get crash in such cases.
   
   The premise for executing `result |= (UNSAFE.getByte(heapMemory, address + 
readIdx++) & 0x7F) << 28` is that the fourth byte of `fourByteValue` is 
`0b1` (that is, there are more bytes to be parsed).
   
   In `readVarUint36Slow()`, it is also possible to read 5 bytes continuously 
(provided that `(b & 0x80) != 0`).
   
   Therefore, the premise of executing `result |= (UNSAFE.getByte(heapMemory, 
address + readIdx++) & 0x7F) << 28` is that we still have content that can be 
read in the Buffer. If there is no content to read, it means that an error 
occurred during writing.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618614116


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   Could you add a test to cover such cases? 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] perf(java): Lower the threshold for multi-byte reading [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang commented on code in PR #1650:
URL: https://github.com/apache/incubator-fury/pull/1650#discussion_r1618613469


##
java/fury-core/src/main/java/org/apache/fury/memory/MemoryBuffer.java:
##
@@ -1774,7 +1774,7 @@ private long readVarUint36Slow() {
   /** Reads the 1-5 byte int part of a non-negative varint. */
   public int readVarUint32() {
 int readIdx = readerIndex;
-if (size - readIdx < 5) {
+if (size - readIdx < 4) {

Review Comment:
   later `result |= (UNSAFE.getByte(heapMemory, address + readIdx++) & 0x7F) << 
28;` wqill read one more byte without check. If we lower threshold, we may get 
crash in such cases.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Fury CI" is working again!

2024-05-29 Thread GitBox


The GitHub Actions job "Fury CI" on incubator-fury.git has succeeded.
Run started by GitHub user LiangliangSui (triggered by LiangliangSui).

Head commit for run:
3e996ffd15f1fb2cd2cbc190404e590b96becceb / wangjie 
chore(doc): fix example (#1657)

## What does this PR do?
fix example code error.

![image](https://github.com/apache/incubator-fury/assets/46479343/eafd5068-7aa0-4cde-af31-ef23b4fc9f55)



## Related issues



## Does this PR introduce any user-facing change?
- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?


## Benchmark



Report URL: https://github.com/apache/incubator-fury/actions/runs/9283776626

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



(incubator-fury) branch main updated: chore(doc): fix example (#1657)

2024-05-29 Thread suiliangliang
This is an automated email from the ASF dual-hosted git repository.

suiliangliang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-fury.git


The following commit(s) were added to refs/heads/main by this push:
 new 3e996ffd chore(doc): fix example (#1657)
3e996ffd is described below

commit 3e996ffd15f1fb2cd2cbc190404e590b96becceb
Author: wangjie 
AuthorDate: Wed May 29 17:36:37 2024 +0800

chore(doc): fix example (#1657)

## What does this PR do?
fix example code error.


![image](https://github.com/apache/incubator-fury/assets/46479343/eafd5068-7aa0-4cde-af31-ef23b4fc9f55)



## Related issues



## Does this PR introduce any user-facing change?
- [ ] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?


## Benchmark


---
 README.md | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/README.md b/README.md
index 11ec450f..b619eeb4 100644
--- a/README.md
+++ b/README.md
@@ -175,6 +175,9 @@ public class Example {
 // but may be insecure if the classes contains malicious code.
 .requireClassRegistration(true)
 .buildThreadSafeFury();
+  // Registering types can reduce class name serialization overhead, but 
not mandatory.
+  // If class registration enabled, all custom types must be registered.
+  fury.register(SomeClass.class);
   byte[] bytes = fury.serialize(object);
   System.out.println(fury.deserialize(bytes));
 }


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] chore(doc): fix example [incubator-fury]

2024-05-29 Thread via GitHub


LiangliangSui merged PR #1657:
URL: https://github.com/apache/incubator-fury/pull/1657


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] chore(doc): fix example [incubator-fury]

2024-05-29 Thread via GitHub


wangjie-fourth commented on PR #1657:
URL: https://github.com/apache/incubator-fury/pull/1657#issuecomment-2136964227

   @chaokunyang hi, can you help review this?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[GH] (incubator-fury): Workflow run "Lint PR" is working again!

2024-05-29 Thread GitBox


The GitHub Actions job "Lint PR" on incubator-fury.git has succeeded.
Run started by GitHub user wangjie-fourth (triggered by wangjie-fourth).

Head commit for run:
a69b9dd58df88476b8a92f524df1b3d9528ee1f1 / jwang55 
chore(doc): fix example

Report URL: https://github.com/apache/incubator-fury/actions/runs/9283627369

With regards,
GitHub Actions via GitBox


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



[PR] chore(doc): fix example [incubator-fury]

2024-05-29 Thread via GitHub


wangjie-fourth opened a new pull request, #1657:
URL: https://github.com/apache/incubator-fury/pull/1657

   ## What does this PR do?
   fix example code error.
   
![image](https://github.com/apache/incubator-fury/assets/46479343/eafd5068-7aa0-4cde-af31-ef23b4fc9f55)
   
   
   
   ## Related issues
   
   
   
   ## Does this PR introduce any user-facing change?
   - [ ] Does this PR introduce any public API change?
   - [ ] Does this PR introduce any binary protocol compatibility change?
   
   
   ## Benchmark
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [PR] [Community] add fury release documentation [incubator-fury-site]

2024-05-29 Thread via GitHub


chaokunyang commented on PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#issuecomment-2136888451

   Hi, with two versions released, I think this PR is ready for review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org



Re: [I] [Java] optimize MemoryBuffer.unsafeWritePositiveVarLong bytecode size [incubator-fury]

2024-05-29 Thread via GitHub


chaokunyang closed issue #1465: [Java] optimize 
MemoryBuffer.unsafeWritePositiveVarLong bytecode size
URL: https://github.com/apache/incubator-fury/issues/1465


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


-
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org