You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/10/01 18:46:26 UTC

[jira] [Commented] (NIFI-989) Support size() operation in distributed map cache

    [ 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)