You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/10/05 20:08:29 UTC

[GitHub] [accumulo] DomGarguilo commented on pull request #2967: Update the new modify properties API to automatically retry on concurrent modification exception.

DomGarguilo commented on PR #2967:
URL: https://github.com/apache/accumulo/pull/2967#issuecomment-1265768528

   Not sure if this adds any value but I saw an test failure when running `PermissionsIT.systemPermissionsTest` locally on main that looked like it could be related:
   ```java
   2022-10-03T13:08:18,940 [functional.PermissionsIT] DEBUG: Verifying the DROP_TABLE permission
   2022-10-03T13:08:19,940 [functional.PermissionsIT] DEBUG: Confirming that the lack of the DROP_TABLE permission properly restricts the user
   2022-10-03T13:08:20,329 [functional.PermissionsIT] DEBUG: Confirming that the presence of the DROP_TABLE permission properly permits the user
   2022-10-03T13:08:21,000 [functional.PermissionsIT] DEBUG: Verifying the ALTER_TABLE permission
   2022-10-03T13:08:22,000 [functional.PermissionsIT] DEBUG: Confirming that the lack of the ALTER_TABLE permission properly restricts the user
   
   java.util.ConcurrentModificationException
   	at org.apache.accumulo.core.rpc.clients.ManagerThriftClient.executeVoidTableCommand(ManagerThriftClient.java:128)
   	at org.apache.accumulo.core.rpc.clients.ManagerThriftClient.executeVoid(ManagerThriftClient.java:142)
   	at org.apache.accumulo.core.clientImpl.TableOperationsImpl.modifyProperties(TableOperationsImpl.java:1027)
   	at org.apache.accumulo.test.functional.PermissionsIT.testMissingSystemPermission(PermissionsIT.java:221)
   	at org.apache.accumulo.test.functional.PermissionsIT.systemPermissionsTest(PermissionsIT.java:127)
   	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
   	at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
   	at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
   	at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
   	at org.junit.jupiter.api.AssertTimeout.lambda$assertTimeoutPreemptively$4(AssertTimeout.java:138)
   	at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264)
   	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
   	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
   	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
   	at java.base/java.lang.Thread.run(Thread.java:829)
   Caused by: ThriftConcurrentModificationException(description:Failed to modify properties to zooKeeper for TablePropKey{TableId=4'}, properties changed since reading.)
   	at org.apache.accumulo.core.manager.thrift.ManagerClientService$modifyTableProperties_result$modifyTableProperties_resultStandardScheme.read(ManagerClientService.java:9258)
   	at org.apache.accumulo.core.manager.thrift.ManagerClientService$modifyTableProperties_result$modifyTableProperties_resultStandardScheme.read(ManagerClientService.java:9217)
   	at org.apache.accumulo.core.manager.thrift.ManagerClientService$modifyTableProperties_result.read(ManagerClientService.java:9143)
   	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:88)
   	at org.apache.accumulo.core.manager.thrift.ManagerClientService$Client.recv_modifyTableProperties(ManagerClientService.java:263)
   	at org.apache.accumulo.core.manager.thrift.ManagerClientService$Client.modifyTableProperties(ManagerClientService.java:247)
   	at org.apache.accumulo.core.clientImpl.TableOperationsImpl.lambda$modifyProperties$1(TableOperationsImpl.java:1028)
   	at org.apache.accumulo.core.rpc.clients.ManagerThriftClient.executeVoidTableCommand(ManagerThriftClient.java:107)
   	... 17 more
   ```
   This doesn't happen all the time but I am able to reproduce the failure after a few runs.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org