Murtadha Hubail has posted comments on this change.

Change subject: Deadlock-free locking protocol is enabled Change-Id: 
Ie58ae2f519baa53599e99b51bd61ea5f8366dafd
......................................................................


Patch Set 1:

(10 comments)

I did a first pass and left some comments. Please address them.

https://asterix-gerrit.ics.uci.edu/#/c/825/1/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
File 
asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java:

Line 293:         //Turned off the following rule since the rule is useless for 
read-committed isolation level.  
WS


https://asterix-gerrit.ics.uci.edu/#/c/825/1/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java
File 
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/LogRecord.java:

Line 69:  * 5) WAIT_LOG_SIZE: 14 bytes (Header1(6) + Tail(8)) 
WS


Line 70:  *    --> WAIT_LOG only requires LogType Field, but in order to 
conform the log reader protocol 
WS


https://asterix-gerrit.ics.uci.edu/#/c/825/1/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/opcallbacks/PrimaryIndexModificationOperationCallback.java:

Line 76:                 //release all locks held by this actor (which is a 
thread) by flushing partial frame. 
WS


Line 77:                 boolean retVal = lockManager.tryLock(jobThreadId, 
datasetId, pkHash, LockMode.X, txnCtx);
rename variable


https://asterix-gerrit.ics.uci.edu/#/c/825/1/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManagerWithReplication.java:

Line 44:         //only locally generated logs should be replicated
add here && logRecord.getLogType() == LogType.WAIT to avoid replicating WAIT 
logs.


Line 76:                     //wait for job Commit/Abort ACK from replicas
Add here if(Record.getLogType() == LogType.JOB_COMMIT || logRecord.getLogType() 
== LogType.ABORT) 

to avoid making WAIT logs wait for replica ACKS which will never come.


https://asterix-gerrit.ics.uci.edu/#/c/825/1/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionSubsystem.java
File 
asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionSubsystem.java:

Line 57:     public long profilerEntityCommitLogCount = 0;
Don't make this public, add a method to increment it


Line 132:      * 
WS


Line 133:      * @author kisskys
Remove author


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

Gerrit-MessageType: comment
Gerrit-Change-Id: Ie58ae2f519baa53599e99b51bd61ea5f8366dafd
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Young-Seok Kim <kiss...@gmail.com>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Murtadha Hubail <hubail...@gmail.com>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: abdullah alamoudi <bamou...@gmail.com>
Gerrit-HasComments: Yes

Reply via email to