Uploaded image for project: 'Apache Storm'
  1. Apache Storm
  2. STORM-117

Storm should provide client library



    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: storm-core
    • Labels:


      Developers that would like to use distributed services such as Storm should have client libraries that allow users to deploy applications (Topologies) and send requests to these application without requiring dependencies only required by the services.

      Service Environment - Storm Nimbus, DRPC and, workers
      Client Environment - Standalone JVM, Web Application etc.

      One example of this is hadoop-client. Before it was created user would use hadoop-core and they would be force to include or manually exclude servlet artifacts and other such artifacts that may cause classpath issues in the client's environment. This will cut down on confusion to new storm users that are unfamiliar with the details of storm and logging frameworks or user integrate storm into existing applications.

      One such example is storm now includes Logback-classic, when user adds this to a project that uses slf4j-API it causes their logging system to break. This happen to our project until we manually excluded Logback. In our environment like others uses log4j for logging. Yes Logback is an improvement over log4j but you can't expect others to change their standard logging framework because of one external dependency. Also there are newer alternatives like log4j 2 and jboss logging that will compete to be the upgrade path for those that would like to update.

      To start off with I do not expect storm to allow users to change the logging framework used for client code while executing in the context of storm workers just the code run from the requesting application. Note allowing system administrators to change the logging framework would be easy since you are using slf4j.


          Issue Links



              • Assignee:
                ddcruver Daniel Cruver
              • Votes:
                3 Vote for this issue
                8 Start watching this issue


                • Created: