Re: [I] [Go] Support convert utf16 encoded string to utf8 string [incubator-fury]

2024-04-18 Thread via GitHub


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

   @LiangliangSui I haven't, feel free to take over it


-- 
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] [Go] Support convert utf16 encoded string to utf8 string [incubator-fury]

2024-04-18 Thread via GitHub


LiangliangSui commented on issue #1545:
URL: 
https://github.com/apache/incubator-fury/issues/1545#issuecomment-2065827879

   Hi @chaokunyang , Have you started implementing this feature? If it hasn't 
been implemented yet, I can take over and implement 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



Re: [PR] feat(java/python/golang): Implement the magicNumber feature [incubator-fury]

2024-04-18 Thread via GitHub


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


##
python/pyfury/_serialization.pyx:
##
@@ -1058,6 +1061,11 @@ cdef class Fury:
 self.unpickler = Unpickler(buffer)
 if unsupported_objects is not None:
 self._unsupported_objects = iter(unsupported_objects)
+if self.language == Language.XLANG:
+magic_numer = buffer.read_int16()
+assert magic_numer == MAGIC_NUMBER, (
+"The XLANG cross-language protocol is not currently used. For 
details, see "

Review Comment:
   Great! updated.



-- 
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/python/golang): Implement the magicNumber feature [incubator-fury]

2024-04-18 Thread via GitHub


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


##
python/pyfury/_serialization.pyx:
##
@@ -1058,6 +1061,11 @@ cdef class Fury:
 self.unpickler = Unpickler(buffer)
 if unsupported_objects is not None:
 self._unsupported_objects = iter(unsupported_objects)
+if self.language == Language.XLANG:
+magic_numer = buffer.read_int16()
+assert magic_numer == MAGIC_NUMBER, (
+"The XLANG cross-language protocol is not currently used. For 
details, see "

Review Comment:
   how about `The fury xlang serialization must start with magic number 0x62d4. 
Please check whether the serialization is based on the xlang protocol and the 
data didn't corrupt.`



-- 
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] [C++] Implement meta string encoding algorithm for C++ [incubator-fury]

2024-04-18 Thread via GitHub


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

   > please assign me,thanks!
   
   Great! Feel free to ask if you have further questions when implement this 
feature.


-- 
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] [Rust] Support convert utf16 encoded string to utf8 string [incubator-fury]

2024-04-18 Thread via GitHub


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

   ## Is your feature request related to a problem? Please describe.
   Currently Fury xlang serialization use utf8 for string encoding, which is 
not performance efficient in many languages. 
   
   We introduced utf16 in 
https://fury.apache.org/docs/specification/fury_xlang_serialization_spec#string 
. But rust native string doesn't support utf16, it's is utf-8 encoded. 
   
   We should support to transcode  utf16 encoded string to utf8 string in fury 
rust deserialization.
   
   ## Describe the solution you'd like
   
   Implement utf16 to utf8 convertion in fury rust. The implementation should 
use SIMD to provide faster speed.
   
   ## Additional context
   #1413
   


-- 
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.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] [C++] Implement meta string encoding algorithm for C++ [incubator-fury]

2024-04-18 Thread via GitHub


heliang666s commented on issue #1543:
URL: 
https://github.com/apache/incubator-fury/issues/1543#issuecomment-2065753949

   please assign me,thanks!


-- 
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] [Go] Support convert utf16 encoded string to utf8 string #1545 [incubator-fury]

2024-04-18 Thread via GitHub


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

   ## Is your feature request related to a problem? Please describe.
   Currently Fury xlang serialization use utf8 for string encoding, which is 
not performance efficient in many languages. 
   
   We introduced utf16 in 
https://fury.apache.org/docs/specification/fury_xlang_serialization_spec#string 
. But c++ doesn't support utf16, and most users assume the `std::string` is 
utf-8 encoded if it's used as a string instead of buffer. we should support to 
transcode  utf16 encoded string to utf8 string in fury C++ deserialization.
   
   ## Describe the solution you'd like
   
   Implement utf16 to utf8 convertion in fury c++. The implementation should 
use SIMD to provide faster speed.
   
   ## Additional context
   #1413
   


-- 
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.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/python/golang): Implement the magicNumber feature [incubator-fury]

2024-04-18 Thread via GitHub


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


##
python/pyfury/_serialization.pyx:
##
@@ -1058,6 +1061,11 @@ cdef class Fury:
 self.unpickler = Unpickler(buffer)
 if unsupported_objects is not None:
 self._unsupported_objects = iter(unsupported_objects)
+if self.language == Language.XLANG:
+magic_numer = buffer.read_int16()
+assert magic_numer == MAGIC_NUMBER, (
+"The XLANG cross-language protocol is not currently used. For 
details, see "

Review Comment:
   How about the error msg below?
   `The xlang serialization specification must start with 0x62d4. Please 
confirm whether the serialization is based on the xlang protocol. For details, 
see 
https://github.com/apache/incubator-fury/blob/main/docs/specification/xlang_serialization_spec.md`



-- 
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] delete guide files [incubator-fury-site]

2024-04-18 Thread via GitHub


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


-- 
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: delete guide files (#110)

2024-04-18 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 c0aef67  delete guide files (#110)
c0aef67 is described below

commit c0aef67589a098c01fbae8d1efd8a9f8d7c19c6e
Author: Shawn Yang 
AuthorDate: Fri Apr 19 12:37:38 2024 +0800

delete guide files (#110)

This PR delete guide files since we havev renamed those files in
https://github.com/apache/incubator-fury/pull/1538
---
 docs/guide/java_object_graph_guide.md  | 416 ---
 docs/guide/xlang_object_graph_guide.md | 596 -
 2 files changed, 1012 deletions(-)

diff --git a/docs/guide/java_object_graph_guide.md 
b/docs/guide/java_object_graph_guide.md
deleted file mode 100644
index 997b7a1..000
--- a/docs/guide/java_object_graph_guide.md
+++ /dev/null
@@ -1,416 +0,0 @@

-title: Java Object Graph Guide
-sidebar_position: 0
-id: java_object_graph_guide

-
-# Java object graph serialization
-
-When only java object serialization needed, this mode will have better 
performance compared to cross-language object
-graph serialization.
-
-## Quick Start
-
-Note that fury creation is not cheap, the **fury instances should be reused 
between serializations** instead of creating
-it everytime.
-You should keep fury to a static global variable, or instance variable of some 
singleton object or limited objects.
-
-Fury for single-thread usage:
-
-```java
-import java.util.List;
-import java.util.Arrays;
-
-import org.apache.fury.*;
-import org.apache.fury.config.*;
-
-public class Example {
-  public static void main(String[] args) {
-SomeClass object = new SomeClass();
-// Note that Fury instances should be reused between
-// multiple serializations of different objects.
-Fury fury = Fury.builder().withLanguage(Language.JAVA)
-  // Allow to deserialize objects unknown types, more flexible
-  // but may be insecure if the classes contains malicious code.
-  .requireClassRegistration(true)
-  .build();
-// 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));
-  }
-}
-```
-
-Fury for multiple-thread usage:
-
-```java
-import java.util.List;
-import java.util.Arrays;
-
-import org.apache.fury.*;
-import org.apache.fury.config.*;
-
-public class Example {
-  public static void main(String[] args) {
-SomeClass object = new SomeClass();
-// Note that Fury instances should be reused between
-// multiple serializations of different objects.
-ThreadSafeFury fury = new ThreadLocalFury(classLoader -> {
-  Fury f = Fury.builder().withLanguage(Language.JAVA)
-.withClassLoader(classLoader).build();
-  f.register(SomeClass.class);
-  return f;
-});
-byte[] bytes = fury.serialize(object);
-System.out.println(fury.deserialize(bytes));
-  }
-}
-```
-
-Fury instances reuse example:
-
-```java
-import java.util.List;
-import java.util.Arrays;
-
-import org.apache.fury.*;
-import org.apache.fury.config.*;
-
-public class Example {
-  // reuse fury.
-  private static final ThreadSafeFury fury = Fury.builder()
-// Allow to deserialize objects unknown types, more flexible
-// but may be insecure if the classes contains malicious code.
-.requireClassRegistration(true)
-.buildThreadSafeFury();
-
-  public static void main(String[] args) {
-SomeClass object = new SomeClass();
-byte[] bytes = fury.serialize(object);
-System.out.println(fury.deserialize(bytes));
-  }
-}
-```
-
-## FuryBuilder  options
-
-| Option Name | Description





  [...]
-|-|-
 [...]
-| `timeRefIgnored`| Whether to ignore reference tracking 
of all

(incubator-fury-site) branch deploy updated: deploy: c0aef67589a098c01fbae8d1efd8a9f8d7c19c6e

2024-04-18 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch deploy
in repository https://gitbox.apache.org/repos/asf/incubator-fury-site.git


The following commit(s) were added to refs/heads/deploy by this push:
 new 533fb76  deploy: c0aef67589a098c01fbae8d1efd8a9f8d7c19c6e
533fb76 is described below

commit 533fb76f0b1ebca1f77899292e96360caac5f10c
Author: chaokunyang 
AuthorDate: Fri Apr 19 04:38:36 2024 +

deploy: c0aef67589a098c01fbae8d1efd8a9f8d7c19c6e
---
 404.html |  4 ++--
 assets/js/935f2afb.28c84ab5.js   |  1 -
 assets/js/935f2afb.9578cc95.js   |  1 +
 assets/js/aa4764a2.2c650230.js   |  1 -
 assets/js/aa4764a2.aa08c6e1.js   |  1 +
 assets/js/b2c69f18.6710fed2.js   |  1 -
 assets/js/b2c69f18.97560f4c.js   |  1 +
 assets/js/d44d5209.a9c41cc8.js   |  1 -
 assets/js/d7586143.6a494217.js   |  1 -
 assets/js/main.26508ecf.js   |  2 ++
 e393f7e4.js.LICENSE.txt => main.26508ecf.js.LICENSE.txt} |  0
 assets/js/main.e393f7e4.js   |  2 --
 assets/js/runtime~main.bd96babc.js   |  1 -
 assets/js/runtime~main.f9414651.js   |  1 +
 blog/archive/index.html  |  4 ++--
 blog/fury_0_1_0_release/index.html   |  4 ++--
 blog/fury_0_1_1_release/index.html   |  4 ++--
 blog/fury_0_1_2_release/index.html   |  4 ++--
 blog/fury_0_2_0_release/index.html   |  4 ++--
 blog/fury_0_2_1_release/index.html   |  4 ++--
 blog/fury_0_3_0_release/index.html   |  4 ++--
 blog/fury_0_3_1_release/index.html   |  4 ++--
 blog/fury_0_4_0_release/index.html   |  4 ++--
 blog/fury_0_4_1_release/index.html   |  4 ++--
 .../index.html   |  4 ++--
 blog/index.html  |  4 ++--
 blog/tags/fury/index.html|  4 ++--
 blog/tags/index.html |  4 ++--
 docs/guide/development/index.html|  6 +++---
 docs/guide/graalvm_guide/index.html  |  6 +++---
 docs/guide/java_object_graph_guide/index.html| 12 ++--
 docs/guide/row_format_guide/index.html   |  6 +++---
 docs/guide/scala_guide/index.html|  6 +++---
 docs/guide/xlang_object_graph_guide/index.html   | 10 +-
 docs/guide/xlang_type_mapping/index.html |  6 +++---
 docs/introduction/benchmark/index.html   |  4 ++--
 docs/introduction/features/index.html|  4 ++--
 docs/introduction/index.html |  4 ++--
 docs/specification/fury_java_serialization_spec/index.html   |  4 ++--
 docs/specification/fury_row_format_spec/index.html   |  4 ++--
 docs/specification/fury_xlang_serialization_spec/index.html  |  4 ++--
 docs/start/install/index.html|  4 ++--
 docs/start/usage/index.html  |  4 ++--
 index.html   |  4 ++--
 lunr-index-1713500792404.json|  1 -
 lunr-index-1713501487056.json|  1 +
 lunr-index.json  |  2 +-
 markdown-page/index.html |  4 ++--
 search-doc-1713500792404.json|  1 -
 search-doc-1713501487056.json|  1 +
 search-doc.json  |  2 +-
 sitemap.xml  |  2 +-
 52 files changed, 87 insertions(+), 89 deletions(-)

diff --git a/404.html b/404.html
index 781a8ce..3f1f38f 100644
--- a/404.html
+++ b/404.html
@@ -5,8 +5,8 @@
 
 Page Not Found | Apache Fury (incubating)https://fury.apache.org/404.html";>
-
-
+
+
 
 
 !function(){function 
t(t){document.documentElement.setAttribute("data-theme",t)}var 
e=function(){try{return new 
URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return
 
localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const
 c=new URLSearchParams(window.location.search).entries();for(var[t,e]of 
c)if(t.startsWith("docusaurus-data-")){var 
a=t.replace("docusaurus-data-","data-");document.documentElement.se [...]
diff --gi

[PR] delete guide files [incubator-fury-site]

2024-04-18 Thread via GitHub


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

   This PR delete guide files since we havev renamed those files  in 
https://github.com/apache/incubator-fury/pull/1538


-- 
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 deploy updated: deploy: c5a7b00303ae0d7d6430550e88375d8ac8f1e122

2024-04-18 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch deploy
in repository https://gitbox.apache.org/repos/asf/incubator-fury-site.git


The following commit(s) were added to refs/heads/deploy by this push:
 new a20afe9  deploy: c5a7b00303ae0d7d6430550e88375d8ac8f1e122
a20afe9 is described below

commit a20afe9236d34352e572dfab255dfc00153b7cd5
Author: chaokunyang 
AuthorDate: Fri Apr 19 04:27:00 2024 +

deploy: c5a7b00303ae0d7d6430550e88375d8ac8f1e122
---
 404.html  | 4 ++--
 assets/js/3350f9c7.4fdd8e29.js| 1 -
 assets/js/3350f9c7.556aa822.js| 1 +
 assets/js/935f2afb.28c84ab5.js| 1 +
 assets/js/935f2afb.99626f54.js| 1 -
 assets/js/aa4764a2.2c650230.js| 1 +
 assets/js/b2c69f18.6710fed2.js| 1 +
 assets/js/d44d5209.a9c41cc8.js| 1 +
 assets/js/d44d5209.da374348.js| 1 -
 assets/js/d7586143.6a494217.js| 1 +
 assets/js/d7586143.9f9b7603.js| 1 -
 assets/js/e20a7859.6ee98445.js| 1 -
 assets/js/e20a7859.959d6688.js| 1 +
 assets/js/main.cc737f9b.js| 2 --
 assets/js/main.e393f7e4.js| 2 ++
 ...{main.cc737f9b.js.LICENSE.txt => main.e393f7e4.js.LICENSE.txt} | 0
 assets/js/runtime~main.7b0c53fa.js| 1 -
 assets/js/runtime~main.bd96babc.js| 1 +
 blog/archive/index.html   | 4 ++--
 blog/fury_0_1_0_release/index.html| 4 ++--
 blog/fury_0_1_1_release/index.html| 4 ++--
 blog/fury_0_1_2_release/index.html| 4 ++--
 blog/fury_0_2_0_release/index.html| 4 ++--
 blog/fury_0_2_1_release/index.html| 4 ++--
 blog/fury_0_3_0_release/index.html| 4 ++--
 blog/fury_0_3_1_release/index.html| 4 ++--
 blog/fury_0_4_0_release/index.html| 4 ++--
 blog/fury_0_4_1_release/index.html| 4 ++--
 .../index.html| 4 ++--
 blog/index.html   | 4 ++--
 blog/tags/fury/index.html | 4 ++--
 blog/tags/index.html  | 4 ++--
 docs/guide/development/index.html | 6 +++---
 docs/guide/graalvm_guide/index.html   | 6 +++---
 docs/guide/java_object_graph_guide/index.html | 8 
 docs/guide/row_format_guide/index.html| 8 
 docs/guide/scala_guide/index.html | 6 +++---
 docs/guide/xlang_object_graph_guide/index.html| 8 
 docs/guide/xlang_type_mapping/index.html  | 8 
 docs/introduction/benchmark/index.html| 4 ++--
 docs/introduction/features/index.html | 4 ++--
 docs/introduction/index.html  | 4 ++--
 docs/specification/fury_java_serialization_spec/index.html| 4 ++--
 docs/specification/fury_row_format_spec/index.html| 4 ++--
 docs/specification/fury_xlang_serialization_spec/index.html   | 4 ++--
 docs/start/install/index.html | 4 ++--
 docs/start/usage/index.html   | 4 ++--
 index.html| 4 ++--
 lunr-index-1713180875598.json | 1 -
 lunr-index-1713500792404.json | 1 +
 lunr-index.json   | 2 +-
 markdown-page/index.html  | 4 ++--
 search-doc-1713180875598.json | 1 -
 search-doc-1713500792404.json | 1 +
 search-doc.json   | 2 +-
 sitemap.xml   | 2 +-
 56 files changed, 90 insertions(+), 88 deletions(-)

diff --git a/404.html b/404.html
index 3ccf3fb..781a8ce 100644
--- a/404.html
+++ b/404.html
@@ -5,8 +5,8 @@
 
 Page Not Found | Apache Fury (incubating)https://fury.apache.org/404.html";>
-
-
+
+
 
 
 !function(

(incubator-fury-site) branch main updated: ๐Ÿ”„ synced local 'docs/guide/' with remote 'docs/guide/'

2024-04-18 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 c5a7b00  ๐Ÿ”„ synced local 'docs/guide/' with remote 'docs/guide/'
c5a7b00 is described below

commit c5a7b00303ae0d7d6430550e88375d8ac8f1e122
Author: chaokunyang 
AuthorDate: Fri Apr 19 04:26:04 2024 +

๐Ÿ”„ synced local 'docs/guide/' with remote 'docs/guide/'
---
 docs/guide/java_serialization_guide.md  | 416 ++
 docs/guide/xlang_serialization_guide.md | 596 
 2 files changed, 1012 insertions(+)

diff --git a/docs/guide/java_serialization_guide.md 
b/docs/guide/java_serialization_guide.md
new file mode 100644
index 000..673e6a8
--- /dev/null
+++ b/docs/guide/java_serialization_guide.md
@@ -0,0 +1,416 @@
+---
+title: Java Serialization Guide
+sidebar_position: 0
+id: java_object_graph_guide
+---
+
+# Java object graph serialization
+
+When only java object serialization needed, this mode will have better 
performance compared to cross-language object
+graph serialization.
+
+## Quick Start
+
+Note that fury creation is not cheap, the **fury instances should be reused 
between serializations** instead of creating
+it everytime.
+You should keep fury to a static global variable, or instance variable of some 
singleton object or limited objects.
+
+Fury for single-thread usage:
+
+```java
+import java.util.List;
+import java.util.Arrays;
+
+import org.apache.fury.*;
+import org.apache.fury.config.*;
+
+public class Example {
+  public static void main(String[] args) {
+SomeClass object = new SomeClass();
+// Note that Fury instances should be reused between
+// multiple serializations of different objects.
+Fury fury = Fury.builder().withLanguage(Language.JAVA)
+  // Allow to deserialize objects unknown types, more flexible
+  // but may be insecure if the classes contains malicious code.
+  .requireClassRegistration(true)
+  .build();
+// 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));
+  }
+}
+```
+
+Fury for multiple-thread usage:
+
+```java
+import java.util.List;
+import java.util.Arrays;
+
+import org.apache.fury.*;
+import org.apache.fury.config.*;
+
+public class Example {
+  public static void main(String[] args) {
+SomeClass object = new SomeClass();
+// Note that Fury instances should be reused between
+// multiple serializations of different objects.
+ThreadSafeFury fury = new ThreadLocalFury(classLoader -> {
+  Fury f = Fury.builder().withLanguage(Language.JAVA)
+.withClassLoader(classLoader).build();
+  f.register(SomeClass.class);
+  return f;
+});
+byte[] bytes = fury.serialize(object);
+System.out.println(fury.deserialize(bytes));
+  }
+}
+```
+
+Fury instances reuse example:
+
+```java
+import java.util.List;
+import java.util.Arrays;
+
+import org.apache.fury.*;
+import org.apache.fury.config.*;
+
+public class Example {
+  // reuse fury.
+  private static final ThreadSafeFury fury = Fury.builder()
+// Allow to deserialize objects unknown types, more flexible
+// but may be insecure if the classes contains malicious code.
+.requireClassRegistration(true)
+.buildThreadSafeFury();
+
+  public static void main(String[] args) {
+SomeClass object = new SomeClass();
+byte[] bytes = fury.serialize(object);
+System.out.println(fury.deserialize(bytes));
+  }
+}
+```
+
+## FuryBuilder  options
+
+| Option Name | Description





  [...]
+|-|-
 [...]
+| `timeRefIgnored`| Whether to ignore reference tracking 
of all time types registered in `TimeSerializers` and subclasses of those t

Re: [PR] chore(doc): rename guide document name [incubator-fury]

2024-04-18 Thread via GitHub


theweipeng merged PR #1538:
URL: https://github.com/apache/incubator-fury/pull/1538


-- 
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: chore(doc): rename guide document name (#1538)

2024-04-18 Thread wangweipeng
This is an automated email from the ASF dual-hosted git repository.

wangweipeng 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 0d074216 chore(doc): rename guide document name (#1538)
0d074216 is described below

commit 0d074216964e2bf1918d438524a139b0fd8aa1f2
Author: Shawn Yang 
AuthorDate: Fri Apr 19 12:25:51 2024 +0800

chore(doc): rename guide document name (#1538)
---
 README.md | 2 +-
 docs/README.md| 4 ++--
 .../guide/{java_object_graph_guide.md => java_serialization_guide.md} | 2 +-
 .../{xlang_object_graph_guide.md => xlang_serialization_guide.md} | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index 24543cbd..6b8fe19a 100644
--- a/README.md
+++ b/README.md
@@ -144,7 +144,7 @@ go get github.com/apache/incubator-fury/go/fury
 ```
 
 ## Quickstart
-Here we give a quick start about how to use Fury, see [user 
guide](https://github.com/apache/incubator-fury/blob/main/docs/README.md) for 
more details about 
[java](https://github.com/apache/incubator-fury/blob/main/docs/guide/java_object_graph_guide.md),
 [cross 
language](https://github.com/apache/incubator-fury/blob/main/docs/guide/xlang_object_graph_guide.md),
 and [row 
format](https://github.com/apache/incubator-fury/blob/main/docs/guide/row_format_guide.md).
+Here we give a quick start about how to use Fury, see [user 
guide](docs/README.md) for more details about 
[java](docs/guide/java_serialization_guide.md), [cross 
language](docs/guide/xlang_serialization_guide.md), and [row 
format](docs/guide/row_format_guide.md).
 
 ### Fury java object graph serialization
 If you don't have cross-language requirements, using this mode will
diff --git a/docs/README.md b/docs/README.md
index bb09506d..6de510a0 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,6 +1,6 @@
 # User Guide
-- For Cross Language Object Graph Guide, see [xlang serialization 
guide](guide/xlang_object_graph_guide.md) doc.
-- For Java Object Graph Guide, see [java serialization 
guide](guide/java_object_graph_guide.md) doc.
+- For Cross Language Object Graph Guide, see [xlang serialization 
guide](guide/xlang_serialization_guide.md) doc.
+- For Java Object Graph Guide, see [java serialization 
guide](guide/java_serialization_guide.md) doc.
 - For Row Format Guide, see [row format guide](guide/row_format_guide.md) doc.
 - For Scala Guide, see [scala guide](guide/scala_guide.md) doc.
 - For using Fury with GraalVM native image, see [graalvm native image 
guide](guide/graalvm_guide.md) doc.
diff --git a/docs/guide/java_object_graph_guide.md 
b/docs/guide/java_serialization_guide.md
similarity index 99%
rename from docs/guide/java_object_graph_guide.md
rename to docs/guide/java_serialization_guide.md
index 997b7a12..673e6a8c 100644
--- a/docs/guide/java_object_graph_guide.md
+++ b/docs/guide/java_serialization_guide.md
@@ -1,5 +1,5 @@
 ---
-title: Java Object Graph Guide
+title: Java Serialization Guide
 sidebar_position: 0
 id: java_object_graph_guide
 ---
diff --git a/docs/guide/xlang_object_graph_guide.md 
b/docs/guide/xlang_serialization_guide.md
similarity index 99%
rename from docs/guide/xlang_object_graph_guide.md
rename to docs/guide/xlang_serialization_guide.md
index 62ae1880..02738281 100644
--- a/docs/guide/xlang_object_graph_guide.md
+++ b/docs/guide/xlang_serialization_guide.md
@@ -1,5 +1,5 @@
 ---
-title: Xlang Object Graph Guide
+title: Xlang Serialization Guide
 sidebar_position: 2
 id: xlang_object_graph_guide
 ---


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



Re: [PR] feat(java/python/golang): Implement the magicNumber feature [incubator-fury]

2024-04-18 Thread via GitHub


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


##
python/pyfury/_serialization.pyx:
##
@@ -1058,6 +1061,11 @@ cdef class Fury:
 self.unpickler = Unpickler(buffer)
 if unsupported_objects is not None:
 self._unsupported_objects = iter(unsupported_objects)
+if self.language == Language.XLANG:
+magic_numer = buffer.read_int16()
+assert magic_numer == MAGIC_NUMBER, (
+"The XLANG cross-language protocol is not currently used. For 
details, see "

Review Comment:
   Clang and cross language seems a little redundant. Other parts look good to 
me. But could we refine the error message๏ผŸ



-- 
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/python/golang): Implement the magicNumber feature [incubator-fury]

2024-04-18 Thread via GitHub


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

   Hi @chaokunyang , this pr is ready for review, could 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



[PR] feat(java/python/golang): Implement the magicNumber feature [incubator-fury]

2024-04-18 Thread via GitHub


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

   
   
   ## What does this PR do?
   
   
   This PR implements the MagicNumer feature in 
[xlang_serialization_spec.md](https://github.com/apache/incubator-fury/blob/main/docs/specification/xlang_serialization_spec.md#fury-header).
   
   
   ## 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-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570867388


##
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 msot important part which Apache values.
+
+Plese 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 time to become a release manager, you need to prepare a 
gpg key. 
+
+Following is a quick setup, you can refer [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please usee 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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by your email at 
the corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-tr

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

2024-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570865680


##
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 msot important part which Apache values.
+
+Plese 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 time to become a release manager, you need to prepare a 
gpg key. 
+
+Following is a quick setup, you can refer [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please usee 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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by your email at 
the corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-tr

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

2024-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570864995


##
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 msot important part which Apache values.
+
+Plese 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 time to become a release manager, you need to prepare a 
gpg key. 
+
+Following is a quick setup, you can refer [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please usee 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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by your email at 
the corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-tr

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

2024-04-18 Thread via GitHub


pjfanning commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570852520


##
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 msot important part which Apache values.
+
+Plese 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 time to become a release manager, you need to prepare a 
gpg key. 
+
+Following is a quick setup, you can refer [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please usee 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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by your email at 
the corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-trus

Re: [I] Chinese/ไธญๆ–‡ README document [incubator-fury]

2024-04-18 Thread via GitHub


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

   ่ฟ™้‡Œ็š„้—ฎ้ข˜ไธป่ฆๆ˜ฏ๏ผŒๆœ‰ไบ›ๆตทๅค–ๅผ€ๅ‘่€…ๅช่ƒฝๆไพ›่‹ฑๆ–‡ๆ–‡ๆกฃ๏ผŒไธญๆ–‡็‰ˆๅฐฑไผšๅ‡บ็ŽฐไธๅŒๆญฅ็Šถๆ€๏ผŒ็”จๆˆท็œ‹ไบ†ๅ่€Œๅฎนๆ˜“็”จๅ‡บ้—ฎ้ข˜


-- 
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] Chinese/ไธญๆ–‡ README document [incubator-fury]

2024-04-18 Thread via GitHub


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

   ไนŸๅฏไปฅ่€ƒ่™‘ๅšๆˆ็ฝ‘็ซ™ๅœจๅˆ‡ๆขๅˆฐไธญๆ–‡่ฏญ่จ€ๆ—ถ๏ผŒๅฆ‚ๆžœๅ‘็Žฐๅฝ“ๅ‰ๆ–‡ๆกฃๆœ‰ไธญๆ–‡็‰ˆๆœฌ๏ผŒๅˆ™ๅฑ•็คบไธญๆ–‡็‰ˆๆœฌ๏ผŒไธ็„ถๅฐฑๅชๅฑ•็คบ่‹ฑๆ–‡็‰ˆๆœฌใ€‚


-- 
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] Chinese/ไธญๆ–‡ README document [incubator-fury]

2024-04-18 Thread via GitHub


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

   ่ฟ™ไธช็กฎๅฎžไธๅคชๅฅฝ็ปดๆŠค๏ผŒๆˆ‘ไปฌๅฏไปฅๅ…ˆ่ง‚ๅฏŸไธ€ไธ‹๏ผŒ็œ‹็œ‹ๆœ‰ๆฒกๆœ‰ๆ›ดๅฅฝ็š„ๆ–นๅผๆฅๆไพ›ไธญๆ–‡ๆ–‡ๆกฃใ€‚ๆˆ–่€…ๆˆ‘ไปฌๅฏไปฅ้’ˆๅฏนไธป่ฆAPIๅ†™ไธ€ไปฝไธญๆ–‡ๆ–‡ๆกฃ๏ผŒ้ซ˜้˜ถ็”จๆณ•ไฟ็•™่‹ฑๆ–‡็‰ˆๆœฌ


-- 
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-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570837137


##
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 msot important part which Apache values.
+
+Plese 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 time to become a release manager, you need to prepare a 
gpg key. 
+
+Following is a quick setup, you can refer [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please usee 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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by your email at 
the corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-tr

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

2024-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570837771


##
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 msot important part which Apache values.
+
+Plese pay more attention to license and signing issues.

Review Comment:
   fixed



-- 
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] chore(doc): rename guide document name [incubator-fury]

2024-04-18 Thread via GitHub


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

   
   
   ## What does this PR do?
   
   THis PR renames guide document name by rename `object graph` to 
serialization. This help reduce confusion.
   
   ## Is there any related issue? Please attach here.
   
   - #0
   - #1
   - #2
   -->
   
   
   ## 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-04-18 Thread via GitHub


pjfanning commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570822474


##
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 msot important part which Apache values.
+
+Plese 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 time to become a release manager, you need to prepare a 
gpg key. 
+
+Following is a quick setup, you can refer [Apache openpgp 
doc](https://infra.apache.org/openpgp.html) for further details.
+
+ Install GPG
+```bash
+sudo apt install gnupg2
+```
+
+ Generate GPG Key
+Please usee 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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by your email at 
the corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-trus

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

2024-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570830701


##
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
+gpg: key E49B00F626B marked as ultimately trusted
+gpg: revocation certificate stored as 
'/Users/chaokunyang/.gnupg/openpgp-revocs.d/1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4.rev'
+public and secret key created and signed.
+
+pub   rsa4096 2022-07-12 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] Chaokun 
+sub   rsa4096 2022-07-12 [E]
+```
+
+ Upload your public key to public GPG keyserver
+
+Firstly, list your key:
+```bash
+gpg --list-keys
+```
+
+The output is like:
+```
+--
+pub   rsa4096 2024-03-27 [SC]
+  1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+uid   [ultimate] chaokunyang (CODE SIGNING KEY) 

+sub   rsa4096 2024-03-27 [E]
+```
+
+Then, send your key id to key server:
+```bash
+gpg --keyserver keys.openpgp.org --send-key  # e.g., 
1E2CDAE4C08AD7D694D1CB139D7BE8E45E580BA4
+```
+Among them, `keys.openpgp.org` is a randomly selected keyserver, you can use 
keyserver.ubuntu.com or any other full-featured keyserver.
+
+ Check whether the key is created successfully
+Uploading takes about one minute; after that, you can check by email at the 
corresponding keyserver.
+
+Uploading keys to the keyserver is mainly for joining a [Web of 
Trust](https://infra.apache.org/release-signing.html#web-of-trust).
+

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

2024-04-18 Thread via GitHub


chaokunyang commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570823432


##
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 msot important part which Apache values.

Review Comment:
   thanks, fixed



-- 
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-04-18 Thread via GitHub


pjfanning commented on code in PR #109:
URL: 
https://github.com/apache/incubator-fury-site/pull/109#discussion_r1570807962


##
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 msot important part which Apache values.

Review Comment:
   Typo in msot



-- 
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] Chinese/ไธญๆ–‡ README document [incubator-fury]

2024-04-18 Thread via GitHub


heliang666s commented on issue #661:
URL: https://github.com/apache/incubator-fury/issues/661#issuecomment-2063660020

   ็Žฐๅœจ่ฟ˜ๆ‰“็ฎ—ๅผ„ไธญๆ–‡็š„readmeๆ–‡ๆกฃๅ—๏ผŒๆˆ‘ๆไบ†ไธ€ไธชissueๅ…ณไบŽ็ฟป่ฏ‘ไธญๆ–‡ๆ–‡ๆกฃ๏ผŒ่ขซไปฅ็ปดๆŠคๅ›ฐ้šพไธบ็”ฑ้ฉณๅ›žไบ†ใ€‚


-- 
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] serializeJavaObject(...) is faster than serialize(...) [incubator-fury]

2024-04-18 Thread via GitHub


heliang666s commented on issue #1537:
URL: 
https://github.com/apache/incubator-fury/issues/1537#issuecomment-2063645369

   The difference between the two is very small, and it is likely that it is 
due to error. I copied your code and tested it, and the object was a 2M size 
image. The number of cycles was increased in turn, and it was found that there 
was not much difference between the two.When cycles is 
small,'serializeJavaObject' is faster,but But when the number of cycles is 
large, the situation is reversed.


-- 
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] serializeJavaObject(...) is faster than serialize(...) [incubator-fury]

2024-04-18 Thread via GitHub


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

   `serializeJavaObject` won't store classinfo of outermost object, so it would 
be faster. But The difference between `serializeJavaObject` and `serialize` 
should be small, since it only save a classinto write for passed object type


-- 
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): skip weakmap test for openj9 (#1536)

2024-04-18 Thread wangweipeng
This is an automated email from the ASF dual-hosted git repository.

wangweipeng 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 5e3ebc0d fix(java): skip weakmap test for openj9 (#1536)
5e3ebc0d is described below

commit 5e3ebc0d49229df9c3c749d03f217b13a5b516d8
Author: Shawn Yang 
AuthorDate: Thu Apr 18 18:36:03 2024 +0800

fix(java): skip weakmap test for openj9 (#1536)
---
 .../test/java/org/apache/fury/collection/MultiKeyWeakMapTest.java| 5 +
 1 file changed, 5 insertions(+)

diff --git 
a/java/fury-core/src/test/java/org/apache/fury/collection/MultiKeyWeakMapTest.java
 
b/java/fury-core/src/test/java/org/apache/fury/collection/MultiKeyWeakMapTest.java
index 35f0be2c..adde8d06 100644
--- 
a/java/fury-core/src/test/java/org/apache/fury/collection/MultiKeyWeakMapTest.java
+++ 
b/java/fury-core/src/test/java/org/apache/fury/collection/MultiKeyWeakMapTest.java
@@ -24,6 +24,8 @@ import java.lang.reflect.Field;
 import java.util.Set;
 import org.apache.fury.logging.Logger;
 import org.apache.fury.logging.LoggerFactory;
+import org.apache.fury.util.unsafe._JDKAccess;
+import org.testng.SkipException;
 import org.testng.annotations.Test;
 
 public class MultiKeyWeakMapTest {
@@ -32,6 +34,9 @@ public class MultiKeyWeakMapTest {
   @SuppressWarnings("unchecked")
   @Test(timeOut = 6)
   public void testMap() throws Exception {
+if (_JDKAccess.IS_OPEN_J9) {
+  throw new SkipException("OpenJ9 unsupported");
+}
 MultiKeyWeakMap map = new MultiKeyWeakMap<>();
 Field referencesField = 
MultiKeyWeakMap.class.getDeclaredField("REFERENCES");
 referencesField.setAccessible(true);


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



Re: [PR] fix(java): skip weakmap test for openj9 [incubator-fury]

2024-04-18 Thread via GitHub


theweipeng merged PR #1536:
URL: https://github.com/apache/incubator-fury/pull/1536


-- 
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] [C#] Fury support for C# [incubator-fury]

2024-04-18 Thread via GitHub


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

   https://fury.apache.org/docs/specification/fury_xlang_serialization_spec is 
our cross-language serialization spec, anyone interested at this issue can take 
a look at this document to know how to implement C# for fury


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