| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
@lidavidm could you take another look? Let me know if anything else is missing |
Sorry, something went wrong.
There was a problem hiding this comment.
Thank you for adding the canonical type.
Sorry, something went wrong.
|
there are some integration tests failling: ################# FAILURES #################
FAILED TEST: custom_metadata Java producing, Go consuming
<class 'RuntimeError'>: Command failed: /root/go/bin/arrow-json-integration-test -arrow /tmp/tmprky9nvsk/020d3b5c_generated_custom_metadata.json_as_file -json /tmp/arrow-integration-ypsmstn1/generated_custom_metadata.json -mode VALIDATE
With output:
--------------
arrow-json: JSON schema:
schema:
fields: 4
- sort_of_pandas: type=int8, nullable
metadata: ["pandas": "{}"]
- lots_of_meta: type=int8, nullable
metadata: ["a": "{}", "b": "{}", "c": "{}", "d": "{}", "..": "{}", "w": "{}", "x": "{}", "y": "{}", "z": "{}"]
- unregistered_extension: type=int8, nullable
metadata: ["ARROW:extension:name": "!nonexistent", "ARROW:extension:metadata": "", "ARROW:integration:allow_unregistered_extension": "true"]
- list_with_odd_values: type=list<item: int32, nullable>, nullable
metadata: ["schema_custom_0": "{}", "schema_custom_1": "{}"]
Arrow schema:
schema:
fields: 4
- sort_of_pandas: type=int8, nullable
metadata: ["pandas": "{}"]
- lots_of_meta: type=int8, nullable
metadata: ["..": "{}", "a": "{}", "b": "{}", "c": "{}", "d": "{}", "w": "{}", "x": "{}", "y": "{}", "z": "{}"]
- unregistered_extension: type=int8, nullable
metadata: ["ARROW:extension:name": "!nonexistent", "ARROW:extension:metadata": "", "ARROW:integration:allow_unregistered_extension": "true"]
- list_with_odd_values: type=list<item: int32, nullable>, nullable
metadata: ["schema_custom_1": "{}", "schema_custom_0": "{}"]
arrow-json: schemas did not match
--------------
FAILED TEST: flight_sql Java producing, Go consuming
<class 'RuntimeError'>: Command failed: /root/go/bin/arrow-flight-integration-client -host localhost -port=43857 -scenario flight_sql
With output:
--------------
gc 1 @3.115s 0%: 0.078+0.59+0.008 ms clock, 0.31+0.37/0.34/0.60+0.032 ms cpu, 3->3->0 MB, 4 MB goal, 0 MB stacks, 0 MB globals, 4 P
panic: expected: schema:
fields: 1
- id: type=int64, nullable
metadata: ["ARROW:FLIGHT:SQL:TABLE_NAME": "test", "ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT": "1", "ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE": "0", "ARROW:FLIGHT:SQL:TYPE_NAME": "type_test", "ARROW:FLIGHT:SQL:SCHEMA_NAME": "schema_test", "ARROW:FLIGHT:SQL:IS_SEARCHABLE": "1", "ARROW:FLIGHT:SQL:CATALOG_NAME": "catalog_test", "ARROW:FLIGHT:SQL:PRECISION": "100", "ARROW:FLIGHT:SQL:REMARKS": "test column"], got: schema:
fields: 1
- id: type=int64, nullable
metadata: ["ARROW:FLIGHT:SQL:PRECISION": "100", "ARROW:FLIGHT:SQL:REMARKS": "test column", "ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT": "1", "ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE": "0", "ARROW:FLIGHT:SQL:SCHEMA_NAME": "schema_test", "ARROW:FLIGHT:SQL:TABLE_NAME": "test", "ARROW:FLIGHT:SQL:IS_SEARCHABLE": "1", "ARROW:FLIGHT:SQL:TYPE_NAME": "type_test", "ARROW:FLIGHT:SQL:CATALOG_NAME": "catalog_test"]
goroutine 1 [running]:
main.main()
/arrow/go/arrow/internal/flight_integration/cmd/arrow-flight-integration-client/main.go:52 +0x277
--------------
FAILED TEST: flight_sql:extension Java producing, Go consuming
<class 'RuntimeError'>: Command failed: /root/go/bin/arrow-flight-integration-client -host localhost -port=35551 -scenario flight_sql:extension
With output:
--------------
panic: expected: schema:
fields: 1
- id: type=int64, nullable
metadata: ["ARROW:FLIGHT:SQL:TABLE_NAME": "test", "ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT": "1", "ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE": "0", "ARROW:FLIGHT:SQL:TYPE_NAME": "type_test", "ARROW:FLIGHT:SQL:SCHEMA_NAME": "schema_test", "ARROW:FLIGHT:SQL:IS_SEARCHABLE": "1", "ARROW:FLIGHT:SQL:CATALOG_NAME": "catalog_test", "ARROW:FLIGHT:SQL:PRECISION": "100", "ARROW:FLIGHT:SQL:REMARKS": "test column"], got: schema:
fields: 1
- id: type=int64, nullable
metadata: ["ARROW:FLIGHT:SQL:PRECISION": "100", "ARROW:FLIGHT:SQL:REMARKS": "test column", "ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT": "1", "ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE": "0", "ARROW:FLIGHT:SQL:SCHEMA_NAME": "schema_test", "ARROW:FLIGHT:SQL:TABLE_NAME": "test", "ARROW:FLIGHT:SQL:IS_SEARCHABLE": "1", "ARROW:FLIGHT:SQL:TYPE_NAME": "type_test", "ARROW:FLIGHT:SQL:CATALOG_NAME": "catalog_test"]
goroutine 1 [running]:
main.main()
/arrow/go/arrow/internal/flight_integration/cmd/arrow-flight-integration-client/main.go:52 +0x277
--------------
FAILED TEST: flight_sql Go producing, Java consuming
<class 'RuntimeError'>: Command failed: java -Dio.netty.tryReflectionSetAccessible=true -Darrow.struct.conflict.policy=CONFLICT_APPEND --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -XX:-UsePerfData --add-reads=org.apache.arrow.flight.core=ALL-UNNAMED -cp /build/java/flight/flight-integration-tests/target/flight-integration-tests-19.0.0-SNAPSHOT-jar-with-dependencies.jar org.apache.arrow.flight.integration.tests.IntegrationTestClient -port 40707 -scenario flight_sql
With output:
--------------
WARNING: Unknown module: org.apache.arrow.flight.core specified to --add-reads
WARNING: Unknown module: org.apache.arrow.memory.core specified to --add-opens
SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
Unknown error
expected: '%!s(bool=true)', got: '%!s(bool=false)'
--------------
FAILED TEST: flight_sql:extension Go producing, Java consuming
<class 'RuntimeError'>: Command failed: java -Dio.netty.tryReflectionSetAccessible=true -Darrow.struct.conflict.policy=CONFLICT_APPEND --add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -XX:-UsePerfData --add-reads=org.apache.arrow.flight.core=ALL-UNNAMED -cp /build/java/flight/flight-integration-tests/target/flight-integration-tests-19.0.0-SNAPSHOT-jar-with-dependencies.jar org.apache.arrow.flight.integration.tests.IntegrationTestClient -port 32823 -scenario flight_sql:extension
With output:
--------------
WARNING: Unknown module: org.apache.arrow.flight.core specified to --add-reads
WARNING: Unknown module: org.apache.arrow.memory.core specified to --add-opens
SLF4J(W): No SLF4J providers were found.
SLF4J(W): Defaulting to no-operation (NOP) logger implementation
SLF4J(W): See https://www.slf4j.org/codes.html#noProviders for further details.
Unknown error
expected: '%!s(bool=true)', got: '%!s(bool=false)'
--------------
FAILED TEST: custom_metadata Java producing, Go consuming
<class 'RuntimeError'>: Go C Data Integration call failed: Schemas are different:
- Json Schema: schema:
fields: 4
- sort_of_pandas: type=int8, nullable
metadata: ["pandas": "{}"]
- lots_of_meta: type=int8, nullable
metadata: ["a": "{}", "b": "{}", "c": "{}", "d": "{}", "..": "{}", "w": "{}", "x": "{}", "y": "{}", "z": "{}"]
- unregistered_extension: type=int8, nullable
metadata: ["ARROW:extension:name": "!nonexistent", "ARROW:extension:metadata": "", "ARROW:integration:allow_unregistered_extension": "true"]
- list_with_odd_values: type=list<item: int32, nullable>, nullable
metadata: ["schema_custom_0": "{}", "schema_custom_1": "{}"]
- Imported Schema: schema:
fields: 4
- sort_of_pandas: type=int8, nullable
metadata: ["pandas": "{}"]
- lots_of_meta: type=int8, nullable
metadata: ["..": "{}", "a": "{}", "b": "{}", "c": "{}", "d": "{}", "w": "{}", "x": "{}", "y": "{}", "z": "{}"]
- unregistered_extension: type=int8, nullable
metadata: ["ARROW:extension:name": "!nonexistent", "ARROW:extension:metadata": "", "ARROW:integration:allow_unregistered_extension": "true"]
- list_with_odd_values: type=list<item: int32, nullable>, nullable
metadata: ["schema_custom_1": "{}", "schema_custom_0": "{}"]
It seems the metadata elements when it's a map the order is not maintained. I this a known issue? @lidavidm |
Sorry, something went wrong.
|
@lidavidm it was merged, should this be re-run? |
Sorry, something went wrong.
|
@lidavidm anything else missing? |
Sorry, something went wrong.
There was a problem hiding this comment.
Thank you for addressing the comments.
Sorry, something went wrong.
There was a problem hiding this comment.
This has conflicts
Sorry, something went wrong.
| /** Registers the UuidType in the extension type registry. */ | ||
| private static final AtomicBoolean registered = new AtomicBoolean(false); | ||
|
|
||
| static { | ||
| ExtensionTypeRegistry.register(INSTANCE); | ||
| } | ||
|
|
||
| /** Register the extension type so it can be used globally. */ | ||
| public static void ensureRegistered() { | ||
| if (!registered.getAndSet(true)) { | ||
| // The values don't matter, we just need an instance | ||
| ExtensionTypeRegistry.register(UuidType.INSTANCE); | ||
| } | ||
| } |
There was a problem hiding this comment.
Isn't all of this redundant? If we have the static initializer, then ensureRegistered can just be a no-op. Or if we're going to use the atomic boolean, then we don't need the static initializer.
Sorry, something went wrong.
There was a problem hiding this comment.
this is only used in tests similarly to Opaque extension type
Sorry, something went wrong.
There was a problem hiding this comment.
There is no static initializer there. There is one here.
Sorry, something went wrong.
There was a problem hiding this comment.
Thank you! I added the static implementation following your suggestion
Sorry, something went wrong.
|
Can you rebase please ? |
Sorry, something went wrong.
|
I think these failures are related to upstream and won't go away on rebase. |
Sorry, something went wrong.
|
I will check as I try to stabilize our CI. It fails way too often and it's an issue in PRs. |
Sorry, something went wrong.
|
The PR looks good to me. I will merge as soon as CI is green. |
Sorry, something went wrong.
|
CI failures are not relevant to this PR. I'm going ahead and merging. |
Sorry, something went wrong.
## What's Changed The current UUID vector implementation creates new buffer slices when reading values through holders, which has several drawbacks: - Memory overhead: Each slice creates a new ArrowBuf object - Performance impact: Buffer slicing is slower than direct buffer indexing - Inconsistency: Other fixed-width types (like Decimal) use buffer indexing with a `start` offset field ### Proposed Changes 1. Add `start` field to UUID holders to track buffer offsets: - `UuidHolder`: Add `public int start = 0;` - `NullableUuidHolder`: Add `public int start = 0;` 2. Update `UuidVector` to use buffer indexing 3. Update readers and writers ### Related Work - Original UUID extension type implementation: GH-825 (#903) Closes #948
| Back | FazBrowse Home | New Git URL |
What's Changed
Add Uuid Extension type canonical implementation in Java. The proposed implementation was validated in Dremio engine
Closes #825