[
https://issues.apache.org/jira/browse/KYLIN-4231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17047620#comment-17047620
]
Shao Feng Shi commented on KYLIN-4231:
--------------------------------------
If possible, only route all write to one Kylin instance, and query to others
> write conflict while add model by different query server parallelly
> -------------------------------------------------------------------
>
> Key: KYLIN-4231
> URL: https://issues.apache.org/jira/browse/KYLIN-4231
> Project: Kylin
> Issue Type: New Feature
> Reporter: ZhouKang
> Priority: Major
>
> a kylin cluster have more than 1 query server, all of them are the backend
> server of nginx.
> when our user use RESTful API to create model in the *same* project
> parallelly, there will be a problem.
> the server returns:
> {code:java}
> // code placeholder
> Overwriting conflict /project/learn_kylin.json, expect old TS 1572596034269,
> but it is 1572596042929
> {code}
> BUT, the model '/model_desc/xxx.json' has already in metastore, so the next
> time our user want
> to retry (create model), he will get:
> {code:java}
> // code placeholder
> Overwriting conflict /model_desc/test_945.json, expect old TS 0, but it is
> 1572596193812
> {code}
> I think the problem is that:
> when server A receive PUT model, it will change the project info, but the
> cache update broadcast cannot be processed by server B before server B
> processing another model creation request.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)