The resource store uses timestamp check to prevent two threads updating one resource at the same time. I'm not sure of the exact update sequence in your scenario. But usually, the writer getting the exception must retry the update by reading, modifying, saving the resource again.
Yang On Thu, Feb 16, 2017 at 5:39 PM, xufan <mu.xu...@163.com> wrote: > hi, i use kylin1.5.1, my program upload json file with ResourceTool > now i will use rest api because my program maybe run in java env only > > project,model_desc and cube_desc can find corresponding api, > tables api can use /tables/{tables}/{project},but my hive tables use csv > SERDE,all columns type is string > i redefined the columns type in kylin, so i use /tables/addStreamingSrc, > there is a bug in this api when calling syncTableToProject, > (TableController.java line 195) > i fix it and recompile, now my program can run, but sometimes failed > > the kylin server log is : > java.lang.IllegalStateException: Overwriting conflict > /project/TESTREST1.json, expect old TS 1486696817348, but it is > 1486696817370 > at org.apache.kylin.storage.hbase.HBaseResourceStore. > checkAndPutResourceImpl(HBaseResourceStore.java:263) > at org.apache.kylin.common.persistence.ResourceStore. > putResource(ResourceStore.java:239) > at org.apache.kylin.common.persistence.ResourceStore. > putResource(ResourceStore.java:219) > at org.apache.kylin.metadata.project.ProjectManager. > updateProject(ProjectManager.java:214) > at org.apache.kylin.metadata.project.ProjectManager. > addTableDescToProject(ProjectManager.java:289) > at org.apache.kylin.rest.service.CubeService.syncTableToProject( > CubeService.java:580) > > is there there some multi-thread problem in kylin server?? > i modified my code, when add a table, sleep some time, now the program > runs well > > > mu.xu...@163.com >