Luo Chen has posted comments on this change. ( 
https://asterix-gerrit.ics.uci.edu/2453 )

Change subject: [ASTERIXDB-2310][STO]Enforce Key Uniquness using PKIndex
......................................................................


Patch Set 23:

(3 comments)

https://asterix-gerrit.ics.uci.edu/#/c/2453/22/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/BTreeResourceFactoryProvider.java
File 
asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/BTreeResourceFactoryProvider.java:

https://asterix-gerrit.ics.uci.edu/#/c/2453/22/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/BTreeResourceFactoryProvider.java@111
PS22, Line 111: index.isPrimaryIndex(), btreeFields, compDecompFact
> I don't think this is a good idea. We have many places in the system where
I changed the logic of creating bloom filters at the LSMBTree level. A bloom 
filter is created whenever the passed bloomFilterFields is not NULL. Thus, the 
primary key index is NOT treated as the primary index, but it can still have 
bloom filters.


https://asterix-gerrit.ics.uci.edu/#/c/2453/22/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryInsertOperatorNodePushable.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryInsertOperatorNodePushable.java:

https://asterix-gerrit.ics.uci.edu/#/c/2453/22/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryInsertOperatorNodePushable.java@66
PS22, Line 66: indexForUniquessCheck
> make this local variable
This is already a local variable. The comment is incomplete?


https://asterix-gerrit.ics.uci.edu/#/c/2453/22/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/LSMPrimaryInsertOperatorNodePushable.java@129
PS22, Line 129:
> If you have multiple concurrent writers on the same dataset, what prevents
We only force upsert operations when the batch of a frame enters an LSM index. 
lsmAccessor.batchOperate itself prevents new batches if the memory component is 
already full.
The implementation here is very similar to 
LSMPrimaryUpsertOperatorNodePushable, which uses the same logic (one reason is 
to prevent a memory component being flushed if we have already searched a key)



--
To view, visit https://asterix-gerrit.ics.uci.edu/2453
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I7a52bb75ee5b14521972999df2f45ba62adc5af1
Gerrit-Change-Number: 2453
Gerrit-PatchSet: 23
Gerrit-Owner: Luo Chen <[email protected]>
Gerrit-Reviewer: Anon. E. Moose (1000171)
Gerrit-Reviewer: Dmitry Lychagin <[email protected]>
Gerrit-Reviewer: Ian Maxon <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Luo Chen <[email protected]>
Gerrit-Reviewer: Murtadha Hubail <[email protected]>
Gerrit-Reviewer: Till Westmann <[email protected]>
Gerrit-Comment-Date: Fri, 19 Apr 2019 16:37:57 +0000
Gerrit-HasComments: Yes

Reply via email to