Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-16594

[REST] Caches can be created with an existing alias name

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 15.1.0.Dev04
    • REST
    • None

      Caches can be created with an existing alias name. Which leads to bad inconsistent state. I believe there are 2 endpoints involved:

      When we create a cache using the REST API, there are several issues:

      • .invocation().method(HEAD).path("/v2/caches/{cacheName}").handleWith(this::cacheExists) => does not check if an alias exists for the given cache name
      • .invocation().methods(POST, PUT).path("/v2/caches/{cacheName}").handleWith(this::createOrUpdate) creates a cache, event when another cache has an alias with the name. This leads to a cache that is FAILED, with no way of knowing what is going on. If I try to DELETE the cache, the cache can't be deleted because of a 404 error thrown by delete cache endpoint. However I can manipulate the cache (since I can write to the cache alias). If I remove the alias in the other cache, I still can't remove the cache. What leads me think that remove cache does not work for aliases in the REST API (but this might be ok). However I still can't remove the failed cache and remains forever in failed state.

      Side note: if I try to create a cache with an alias that already exist, I get a good error. This works well.

      Note: should all the cache endpoints work with aliases ? I don't think they do now. 

              ttarrant@redhat.com Tristan Tarrant
              karestig@redhat.com Katia Aresti
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: