Github user jackylk commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/1638#discussion_r156599142
--- Diff:
streaming/src/main/java/org/apache/carbondata/streaming/segment/StreamSegment.java
---
@@ -180,6 +182,70 @@ public static String close(CarbonTable table, String
segmentId)
}
}
+ /**
+ * change the status of the segment from "streaming" to "streaming
finish"
+ */
+ public static void finishStreaming(CarbonTable carbonTable) throws
Exception {
+ ICarbonLock lock = CarbonLockFactory.getCarbonLockObj(
+ carbonTable.getTableInfo().getOrCreateAbsoluteTableIdentifier(),
+ LockUsage.TABLE_STATUS_LOCK);
+ try {
+ if (lock.lockWithRetries()) {
+ ICarbonLock streamingLock = CarbonLockFactory.getCarbonLockObj(
+
carbonTable.getTableInfo().getOrCreateAbsoluteTableIdentifier(),
+ LockUsage.STREAMING_LOCK);
--- End diff --
This lock should be acquired first because it is acquired firstly in
handoff flow
---