[infinispan-issues] [JBoss JIRA] (ISPN-5653) keySet().iterator() does not propagate flags to remove()

Radim Vansa (JIRA) issues at jboss.org
Fri Jul 31 07:41:03 EDT 2015


Radim Vansa created ISPN-5653:
---------------------------------

             Summary: keySet().iterator() does not propagate flags to remove()
                 Key: ISPN-5653
                 URL: https://issues.jboss.org/browse/ISPN-5653
             Project: Infinispan
          Issue Type: Bug
          Components: Core
    Affects Versions: 7.2.3.Final
            Reporter: Radim Vansa


Calling {{remove()}} on iterator obtained through keySet() does not propagate flags from the original (decorated) cache. Test case (should go into BaseEntryRetrieverTest):

{code}
   @Test
   public void simpleTestWithFlags() {
      Map<Object, String> values = putValuesInCache();

      final Cache<Object, Object> cache = cache(0, CACHE_NAME);
      cache.getAdvancedCache().addInterceptor(new BaseCustomInterceptor() {
         @Override
         public Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable {
            assertTrue(command.hasFlag(Flag.SKIP_CACHE_STORE));
            return super.visitRemoveCommand(ctx, command);
         }
      }, 0);
      for (Iterator it = cache(0, CACHE_NAME).getAdvancedCache().withFlags(Flag.SKIP_CACHE_STORE).keySet().iterator(); it.hasNext();) {
         assertTrue(values.containsKey(it.next()));
         it.remove();
      }
   }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the infinispan-issues mailing list