[jira] [Updated] (HBASE-10714) SyncFuture hangs when sequence is 0

2014-03-10 Thread Jimmy Xiang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-10714:


Fix Version/s: 0.99.0
   Status: Patch Available  (was: Open)

 SyncFuture hangs when sequence is 0
 ---

 Key: HBASE-10714
 URL: https://issues.apache.org/jira/browse/HBASE-10714
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
 Fix For: 0.99.0

 Attachments: hbase-10714.patch


 In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So 
 ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with 
 sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still 
 not done since doneSequence == NOT_DONE == 0.  Can we set NOT_DONE to -1, and 
 the initial doneSequence to -2?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (HBASE-10714) SyncFuture hangs when sequence is 0

2014-03-10 Thread Jimmy Xiang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-10714:


Attachment: hbase-10714.patch

Attached patch v1 that set SyncFuture.NOT_DONE to -1 instead. It also added a 
check in SyncRunner to make sure replaceWriter is not going on while syncing. 
This could slow down replaceWriter a little since SyncRunner can start to work 
only after the writer is switched.

 SyncFuture hangs when sequence is 0
 ---

 Key: HBASE-10714
 URL: https://issues.apache.org/jira/browse/HBASE-10714
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
 Fix For: 0.99.0

 Attachments: hbase-10714.patch


 In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So 
 ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with 
 sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still 
 not done since doneSequence == NOT_DONE == 0.  Can we set NOT_DONE to -1, and 
 the initial doneSequence to -2?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (HBASE-10714) SyncFuture hangs when sequence is 0

2014-03-10 Thread Jimmy Xiang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-10714:


Status: Open  (was: Patch Available)

 SyncFuture hangs when sequence is 0
 ---

 Key: HBASE-10714
 URL: https://issues.apache.org/jira/browse/HBASE-10714
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
 Fix For: 0.99.0

 Attachments: hbase-10714.patch


 In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So 
 ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with 
 sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still 
 not done since doneSequence == NOT_DONE == 0.  Can we set NOT_DONE to -1, and 
 the initial doneSequence to -2?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (HBASE-10714) SyncFuture hangs when sequence is 0

2014-03-10 Thread Jimmy Xiang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-10714:


Attachment: hbase-10714_v2.patch

A simpler patch that makes sure the sequence starts from 1 instead of 0.

 SyncFuture hangs when sequence is 0
 ---

 Key: HBASE-10714
 URL: https://issues.apache.org/jira/browse/HBASE-10714
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
 Fix For: 0.99.0

 Attachments: hbase-10714.patch, hbase-10714_v2.patch


 In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So 
 ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with 
 sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still 
 not done since doneSequence == NOT_DONE == 0.  Can we set NOT_DONE to -1, and 
 the initial doneSequence to -2?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (HBASE-10714) SyncFuture hangs when sequence is 0

2014-03-10 Thread Jimmy Xiang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-10714:


Status: Patch Available  (was: Open)

 SyncFuture hangs when sequence is 0
 ---

 Key: HBASE-10714
 URL: https://issues.apache.org/jira/browse/HBASE-10714
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
 Fix For: 0.99.0

 Attachments: hbase-10714.patch, hbase-10714_v2.patch


 In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So 
 ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with 
 sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still 
 not done since doneSequence == NOT_DONE == 0.  Can we set NOT_DONE to -1, and 
 the initial doneSequence to -2?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (HBASE-10714) SyncFuture hangs when sequence is 0

2014-03-10 Thread Jimmy Xiang (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-10714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-10714:


  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

Integrated patch v2 to trunk.

 SyncFuture hangs when sequence is 0
 ---

 Key: HBASE-10714
 URL: https://issues.apache.org/jira/browse/HBASE-10714
 Project: HBase
  Issue Type: Bug
  Components: wal
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
 Fix For: 0.99.0

 Attachments: hbase-10714.patch, hbase-10714_v2.patch


 In SyncFuture, NOT_DONE = 0. The initial value of the ringBuffer is -1. So 
 ringBuffer.next() gives 0 for the first call. If we create a SyncFuture with 
 sequence = 0, even when we set it's done (ie. doneSequence = 0), it is still 
 not done since doneSequence == NOT_DONE == 0.  Can we set NOT_DONE to -1, and 
 the initial doneSequence to -2?



--
This message was sent by Atlassian JIRA
(v6.2#6252)