>From Ali Alsuliman <[email protected]>:

Attention is currently required from: Murtadha Hubail, 
[email protected].
Ali Alsuliman has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19524 )

Change subject: [ASTERIXDB-3580][COMP] Change collection delivered partitioning 
property
......................................................................


Patch Set 2:

(2 comments)

File 
asterixdb/asterix-app/src/test/resources/runtimets/results/join/hash-join-with-redundant-variable/hash-join-with-redundant-variable.14.plan:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19524/comment/3c87453e_877b1d62
PS2, Line 46: [$$55]
> Not related to this patch, but even if the collection is delivering random 
> partition property, the f […]
I think this has to do with the fact that:
With the Supplier branch delivering random partitioning, 
HASH_PARTITION_EXCHANGE [$$59, $$56] is introduced, and so the 
'firstDeliveredPartitioning' is HASH_PARTITION_EXCHANGE [$$59, $$56].

Then the requirements for the Customer branch had to be coordinated using 
prc.coordinateRequirements() (EQCLASS_PARTITIONING_COORDINATOR) which forces 
the requirements to not be normalized using the functional dependency to reduce 
the requirements to only hash $55. So, the requirements remained as 
HASH_PARTITION_EXCHANGE [$$55, $$66].

With the Supplier branch delivering hash partitioning on $59, the delivered 
property is HASH_PARTITION_EXCHANGE [$$59] (via the ONE_TO_ONE_EXCHANGE), and 
so the 'firstDeliveredPartitioning' is HASH_PARTITION_EXCHANGE [$$59].

So, then the coordinated requirements for the Customer branch becomes 
HASH_PARTITION_EXCHANGE [$$55] only.


File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/DataSourcePartitioningProvider.java:

https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19524/comment/a4fdf6f8_d8afaa8f
PS2, Line 160: UnorderedPartitionedProperty.of(pvars, domain);
> Can this use partitionsMap as well? BucketDataSourcePropertiesProvider. […]
Actually, BucketDataSourcePropertiesProvider should not be using 
UnorderedPartitionedPropert. This is the bucket operator reading from DCP and 
therefore, the delivered property should always be random since there is no 
inherent property. Currently, it is not causing problems because it's actually 
delivering UnorderedPartitionedPropert on the $document (which is also 
incorrect) and the dataset UPSERT requires UnorderedPartitionedPropert on $PK 
and hence the hash-partition exchange is added (as expected) between the bucket 
operator and the dataset upsert operator.



--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/19524
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: ionic
Gerrit-Change-Id: I38ecaccf133028ff8c4854a02c635b44bdcefcc8
Gerrit-Change-Number: 19524
Gerrit-PatchSet: 2
Gerrit-Owner: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Ali Alsuliman <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Murtadha Hubail <[email protected]>
Gerrit-Reviewer: Peeyush Gupta <[email protected]>
Gerrit-Reviewer: [email protected]
Gerrit-Attention: Murtadha Hubail <[email protected]>
Gerrit-Attention: [email protected]
Gerrit-Comment-Date: Tue, 18 Mar 2025 23:24:46 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Peeyush Gupta <[email protected]>
Gerrit-MessageType: comment

Reply via email to