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
>

Reply via email to