Как поисковый запрос может привести к ошибке WriteConflict - PullRequest
0 голосов
/ 17 июня 2020

Мое приложение выполняет поисковый запрос, подобный приведенному ниже, в многодокументной транзакции (то есть на основном узле):

db.parameters.find({identifiantSite: "mySite"}

Как такой поисковый запрос может вызвать ошибку WriteConflict? Ошибки WriteConflict не являются оправданием для запросов на запись?

Для информации я использую Spring Data Mon go, и это часть трассировки стека, иллюстрирующая ошибку:

org.springframework.data.mongodb.UncategorizedMongoDbException: Query failed with error code 112 and error message 'WriteConflict' on server mongod-1.mongodb-service.default.svc.cluster.local:27017; nested exception is com.mongodb.MongoQueryException: Query failed with error code 112 and error message 'WriteConflict' on server mongod-1.mongodb-service.default.svc.cluster.local:27017
    at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:138)
    at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException(MongoTemplate.java:2902)
    at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:2810)
    at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2555)
    at org.springframework.data.mongodb.core.ExecutableFindOperationSupport$ExecutableFindSupport.doFind(ExecutableFindOperationSupport.java:215)
    at org.springframework.data.mongodb.core.ExecutableFindOperationSupport$ExecutableFindSupport.oneValue(ExecutableFindOperationSupport.java:127)
    at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.lambda$getExecution$4(AbstractMongoQuery.java:153)
    at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.doExecute(AbstractMongoQuery.java:126)
    at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.execute(AbstractMongoQuery.java:101)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:618)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:605)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
    at com.sun.proxy.$Proxy169.findByIdentifiantSite(Unknown Source)
...