[ 
https://issues.apache.org/jira/browse/NIFI-989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14940057#comment-14940057
 ] 

ASF GitHub Bot commented on NIFI-989:
-------------------------------------

Github user markap14 commented on the pull request:

    https://github.com/apache/nifi/pull/94#issuecomment-144783629
  
    @joemeszaros the concern that I have with the notion of the 
ExtendedDistributedMapCacheClient is that once that is released, it will have 
the same caveats as the DistributedMapCacheClient - others can extend it, so we 
cannot change the interface in a non-backward-compatible way once we release it.
    
    I think if there are specific methods that we think will be added, then we 
need to implement those before we release the service. Otherwise, in order to 
add new methods to the ExtendedDistributedMapCacheClient we would need to 
create yet another interface that extends that one. This is all done because we 
consider the Standard Services API to be "public interfaces" so that once they 
are out there, we have no idea who has implemented them. As a result, if we 
change them, even if we update all of the code in Apache NiFi, we may be 
breaking someone else's "private" implementation.
    
    In theory, though, this will become a lot less painful once we move to 
1.0.0 because I believe the intent is to move to Java 8, which means that we 
can include default implementations in the interfaces. As a result, we could 
potentially add new methods to interfaces as long as they can be implemented 
using existing methods.


> Support size() operation in distributed map cache
> -------------------------------------------------
>
>                 Key: NIFI-989
>                 URL: https://issues.apache.org/jira/browse/NIFI-989
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>            Reporter: Joe Mészáros
>            Priority: Minor
>              Labels: cache, command-line, distributed, improvement
>
> The distributed map cache server is a great tool for caching along with the 
> cache client (DistributedMapCacheClientService), but after you configure and 
> enable it, it is a black box. You are unable to get any information from the 
> cache e.g how much entries live in the cache.
> The purpose of this issue to extend the cache interface and associated 
> implementations to support the size() operation, which returns the number of 
> entries in the distributed cache. 
> It could be a first step in a direction of a more transparent cache, where 
> the user can understand, what happens with the distributed cache. I mean 
> after the size() operation, it could be really helpful to implement a stats() 
> command, which s used to query the server about statistics it
> maintains and other internal data (e.g. evictions, hit rates, ...). 
> Similar to:
>  - memcached : 
> https://docs.oracle.com/cd/E17952_01/refman-5.0-en/ha-memcached-stats-general.html
> - couchbase: http://blog.couchbase.com/monitoring-couchbase-cluster
> - redis: http://haydenjames.io/using-redis-stat-for-redis-statistics-tracking/
> I implemented a really simple command line tool, which can interact with the 
> cache server from the command line, e.g. get a cache entry and it also able 
> to get the size of the cache, which could be useful, when you would like to 
> debug cache related problems, or just get basic interaction with the cache.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to