Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
v2.0.0
-
hadoop:hadoop-2.6.0-cdh5.8.2
hive :2.1.0
hbase:0.98
Description
cube duplicate segments。
cannot be deleted and data cannot be refreshed and merged
try curl -X DELETE "http://127.0.0.1:7070/kylin/api/cubes/Remain_Cube_2/segs/20170822000000_20170823000000" -H "Authorization: Basic QURNSU46S1lMSU4=" -H "Content-Type: application/json;charset=UTF-8" Cannot delete segment '20170822000000_20170823000000' as it is neither the first nor the last segment.","stacktrace":"org.apache.kylin.rest.exception.InternalErrorException: Cannot delete segment '20170822000000_20170823000000' as it is neither the first nor the last segment
暂时解决办法:
public CubeInstance deleteSegment(CubeInstance cube, String segmentName) throws IOException { if (!segmentName.equals(cube.getSegments().get(0).getName()) && !segmentName.equals(cube.getSegments().get(cube.getSegments().size() - 1).getName())) { //throw new IllegalArgumentException("Cannot delete segment '" + segmentName + "' as it is neither the first nor the last segment."); } CubeSegment toDelete = null; for (CubeSegment seg : cube.getSegments()) { if (seg.getName().equals(segmentName)) { toDelete = seg; } } if (toDelete == null) { throw new IllegalArgumentException("Cannot find segment '" + segmentName + "'"); } if (toDelete.getStatus() != SegmentStatusEnum.READY) { //throw new IllegalArgumentException("Cannot delete segment '" + segmentName + "' as its status is not READY. Discard the on-going job for it."); } CubeUpdate update = new CubeUpdate(cube); update.setToRemoveSegs(new CubeSegment[] { toDelete }); return CubeManager.getInstance(getConfig()).updateCube(update); }
Attachments
Attachments
Issue Links
- is duplicated by
-
KYLIN-3004 Update validation when deleting segment
- Closed