You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by "Gary Martin (JIRA)" <ji...@apache.org> on 2014/02/24 18:46:19 UTC

[jira] [Created] (COMDEV-107) Create a topic-based pub/sub for IResourceChangeListener

Gary Martin created COMDEV-107:
----------------------------------

             Summary: Create a topic-based pub/sub for IResourceChangeListener
                 Key: COMDEV-107
                 URL: https://issues.apache.org/jira/browse/COMDEV-107
             Project: Community Development
          Issue Type: New Feature
            Reporter: Gary Martin


Note: Was COMDEV-95

Apache Bloodhound is a software development collaboration tool, including issue tracking, wiki and repository browsing (see: http://bloodhound.apache.org). Bloodhound extends Trac (http://trac.edgewall.org/) with multiple product support, advanced search functionality, ticket relations, a simpler installer and sleeker user interface. Apache Bloodhound recently graduated from the Apache Incubator as a stand-alone Apache project.

Problem:

Resource listeners often will watch events for a limited, well-known set of resource realms (e.g. ticket + attachment).
The current dispatching strategy (i.e. match_resource) is mostly ​content based ( http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern#Message_filtering ). It behaves in O(r * l) order of magnitude. This might lead to a lot of extra (unnecessary) overhead.

Proposed solution:

A performance improvement could be to allow listeners to register to dedicated realm channels (i.e. ​topic-based filtering [ http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern#Message_filtering ]) , thus turning the dispatch algorithm into O(l) , at least when it is a ok to do so ;)
PS: We shall not loose the current content-based filtering capabilities , so in advance I advocated using a hybrid strategy .

Skills needed:

Bloodhound and Trac are written in Python, so a moderate dose of Python programing skills are required.

References:

Link to the original issue:

    https://issues.apache.org/bloodhound/ticket/485

More GSoC-related tasks for Bloodhound:

    https://issues.apache.org/bloodhound/query?status=!closed&keywords=~gsoc

Guidelines for contributing to Apache Bloodhound:

    https://issues.apache.org/bloodhound/wiki/BloodhoundContributing



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)