Menu

#9 LOG: decouple from file system characteristics

4.4.FC
fixed
elunlen
None
enhancement
log
-
4.2.2
major
2014-01-31
2013-05-06
elunlen
No

Merged from devel (#3003)

Currently the LOG server process (osaflogd) is single threaded. This means that if this single thread is hanging in a write() system call, it cannot answer to AMF health checks or LOG client requests for initialize, open etc.
With a single thread, the AMF healthcheck timeout takes the meaning of supervising the file system itself. That should not be the responsibility of the LOG service.
There are two (or more?) alternatives:
1) create one thread per stream. This stream should be responsible for all file system operation of one stream. The main thread will
2) using async io (man 7 aio) keeping a single thread
the advantage of 1) is that makes it rather easy to have flow control per stream by means of a size limited mailbox per stream.
not sure how the same could be achieved with aio.
After this change, AMF healthchecks, initialize and stream open/close should "never" be blocked like it can be today.

NOTE: This ticket also fix [#124] that can be closed when this ticket is closed

Related

Tickets: #124
Tickets: #442
Tickets: #536
Tickets: #578
Tickets: #9

Discussion

  • elunlen

    elunlen - 2013-05-06

    Changed 2 months ago by elunlen
    See also #2789

    Changed 3 weeks ago by elunlen
    status changed from new to accepted

     
  • elunlen

    elunlen - 2013-06-04

    A new development repository for this function is created.
    The following command can be used to create a clone:
    hg clone ssh://elunlen@hg.code.sf.net/u/elunlen/opensaf_Log u-elunlen-opensaf_Log

    For more information about the enhancement and development progress see the README_LOGENH file in the top directory.

    Note: Trace for log service is on and there is a larger set of test cases for the log service than in the original test set.

     
  • elunlen

    elunlen - 2013-06-18

    Development repository updated.

     
  • elunlen

    elunlen - 2013-07-05
    • Milestone: future --> 4.4.FC
     
  • elunlen

    elunlen - 2013-08-09
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -8,3 +8,5 @@
     the advantage of 1) is that makes it rather easy to have flow control per stream by means of a size limited mailbox per stream.
     not sure how the same could be achieved with aio.
     After this change, AMF healthchecks, initialize and stream open/close should "never" be blocked like it can be today.
    +
    +NOTE: This ticket also fix #124 that can be closed when this ticket is closed
    
     
  • elunlen

    elunlen - 2013-08-14
    • status: accepted --> review
     
  • elunlen

    elunlen - 2013-08-14
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -9,4 +9,4 @@
     not sure how the same could be achieved with aio.
     After this change, AMF healthchecks, initialize and stream open/close should "never" be blocked like it can be today.
    
    -NOTE: This ticket also fix #124 that can be closed when this ticket is closed
    +NOTE: This ticket also fix [#124] that can be closed when this ticket is closed
    
     
  • elunlen

    elunlen - 2013-09-26

    changeset: 4520:cae7a7c37cb9
    tag: tip
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:36:59 2013 +0200
    summary: logsv: Remove last written log record if write has timed out. [#9]

    rev: cae7a7c37cb9a540f40b3089d76b71227e560378

    changeset: 4519:ed0be59e6cd9
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:36:59 2013 +0200
    summary: logsv: Update saflogger to handle SA_AIS_ERR_TIMEOUT [#9]

    rev: ed0be59e6cd9176eacf4577808a9c4a02dfe7155

    changeset: 4518:d0d87797475e
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:36:59 2013 +0200
    summary: logsv: Backout thread recovery handling [#9]

    rev: d0d87797475e52614c4d8e4a47bf7b454213a8ce

    changeset: 4517:c29dc52fb24a
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:36:59 2013 +0200
    summary: logsv: Fix error in lgs_make_reldir_h() [#9]

    rev: c29dc52fb24a58077a7bb5c3492f03b815eda2a3

    changeset: 4516:b2aa1410305c
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:36:59 2013 +0200
    summary: logsv: Make hang timeout configurable [#9]

    rev: b2aa1410305cb9a1b1ac39443856737ab4a6f23b

    changeset: 4515:a96e7bbf9a2a
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:36:19 2013 +0200
    summary: logsv: Several different improvements e.g data handling between threads [#9]

    rev: a96e7bbf9a2a33e3df166134733849600f0c49ee

    changeset: 4514:e8389e6c18f2
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:33:29 2013 +0200
    summary: logsv: Fix remarks and defects. Update README. Clean up TRACE and LOG [#9]

    rev: e8389e6c18f2cb8803805e1d0692e03c994c1542

    changeset: 4513:aecd108782fc
    user: Lennart Lund lennart.lund@ericsson.com
    date: Thu Sep 26 14:29:07 2013 +0200
    summary: logsv: Add new thread and run all file handling in this thread [#9]

    rev: aecd108782fc4afca6bbcbe22cfa5268e03526cd

     

    Related

    Tickets: #9

  • elunlen

    elunlen - 2013-09-26
    • status: review --> fixed
     

Log in to post a comment.