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
---