Uploaded image for project: 'StoRM'
  1. StoRM
  2. STOR-1393 Cleanup frontend codebase II
  3. STOR-1319

Clean srm_server, db connection pool and thread pool

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • frontend
    • Security Level: Public (Visbile by non-authn users.)
    • None

      More specifically:

      • remove all extern variables
      • keepĀ all the context info for a thread into srm_srv_thread_info
      • review #define's

      Since there is also a db connection per thread, redesign the two together. In particular create the db connections before hand during startup and not lazily, which just complicates things and it's probably the cause of various diagnostics by the address sanitizer:

      Direct leak of 416 byte(s) in 2 object(s) allocated from:
          #0 0x7fbb6b3a082e in calloc (/lib64/libasan.so.5+0x10c82e)
          #1 0x7fbb6adeee46  (/usr/lib64/mysql/libmysqlclient.so.18+0x5ae46)
          #2 0x7fbb6adb3c44  (/usr/lib64/mysql/libmysqlclient.so.18+0x1fc44)
          #3 0x7fbb6adbb096 in mysql_init (/usr/lib64/mysql/libmysqlclient.so.18+0x27096)
          #4 0x6ff3c8 in storm_opendb(char const*, char const*, char const*, srm_dbfd*) ../../../src/db/storm_mysql_ifce.cpp:39
          #5 0x5552cc in int processRequestStatus<ns1__srmStatusOfBringOnlineRequestRequest, ns1__srmStatusOfBringOnlineRequestResponse>(soap*, char const*, storm::FileStatusRequest<ns1__srmStatusOfBringOnlineRequestRequest, ns1__srmStatusOfBringOnlineRequestResponse>&, ns1__srmStatusOfBringOnlineRequestResponse**) ../../../src/frontend/StatusTemplate.hpp:62
      ...
      
      

            giaco Francesco Giacomini
            giaco Francesco Giacomini
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: