Project

General

Profile

Actions

Task #9725

closed

Provide JTREQS workflows

Added by Chambon Bernard about 9 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assigned To:
Category:
Server side
Start date:
04/17/2015
Due date:
% Done:

0%

Estimated time:
Actions #1

Updated by Chambon Bernard about 9 years ago

  • Status changed from New to Resolved
  • Threads view
    one thread for Dispatcher
    one thread for Activator
    Activator will run up to N stagers i.e. up to N threads (each stager run in one thread)
      N is compute from number of waiting queues and 
      count of simultaneous stagers per  queue (STAGING_DEPTH (=3) in config file) and
      limit in count of drives allocated per type (of drive)
    
     e.g. 
      40 requests (40 different files) => 40 queues, all using the same model (e.g. T10K-B)
      15 drives allocated for T10K-B
      there will be 1 + 1 + 15 (=stagers) threads 
    
  • My (first) impressions about java code
    A lot of (too much ?) abstraction 
    Data structures are numerous and heavy, many Map, List, MultiMap !
    Some classes have quite the same data members (e.g. FileRequest and PersistenceHelperFileRequest)
    Some classes have poor justification (e.g. class User {{ private String name; } !
    Naming variables must be done carefully (I mean 'filename' and NOT 'name'). 
    Caution with class name
     e.g. File already used is Java classes  hierarchy
     e.g. Resource is too generic (not explicit)
    Why Stager is in model package (I recommend control/stager package)
    Request | queues status are in DB but also as enum in code (see Request | QueueStatus)
    Poor justification for values between .conf.properties and DefaultProperties
    e.g. 
      public static final String DEFAULT_DAO_FACTORY = "fr.in2p3.cc.storage." + "treqs.persistance.mysql.MySQLDAOFactory";
      DAO_FACTORY=fr.in2p3.cc.storage.treqs.persistence.mysql.MySQLDAOFactory (in .conf...)
    A lot of Exception classes (lot => less readable !)
    DAO model is outdated (I recommend using JPA)
    A lot of (130) classes !! (besides 63 classes for test code (~400 tests) )
    
    ... let's have a cup of coffee ... !
    
Actions #2

Updated by Chambon Bernard about 9 years ago

  • Status changed from Resolved to In progress
Actions #3

Updated by Chambon Bernard almost 9 years ago

  • Status changed from In progress to Closed
Actions

Also available in: Atom PDF