Summary: logsv: Handle log files on both active and standby
Review request for Trac Ticket(s): #152
Peer Reviewer(s): 
Pull request to: <<LIST THE PERSON WITH PUSH ACCESS HERE>>
Affected branch(es): default (4.4)
Development branch: <<IF ANY GIVE THE REPO URL>>

--------------------------------
Impacted area       Impact y/n
--------------------------------
 Docs                    n
 Build system            n
 RPM/packaging           n
 Configuration files     n
 Startup scripts         n
 SAF services            y
 OpenSAF services        n
 Core libraries          n
 Samples                 n
 Tests                   n
 Other                   n


Comments (indicate scope for each "y" above):
---------------------------------------------
NOTE:
This is a preliminary review. Only part of the complete enhancement is 
implemented.
There are TRACE tagged with LLDTEST that shall be removed or the tag sahll be 
removed.
Not yet implemented:
- Handling of files when changing (IMM) configuration of log stream or the
  log service itself (logRootDirectory)
- Detection of log id inconsistency including writing a notification in the
  affected stream

changeset 95a94b3c33d545b8ec245c8c596605833e6cb75c
Author: Lennart Lund <lennart.l...@ericsson.com>
Date:   Mon, 02 Dec 2013 10:17:12 +0100

        logsv: Handle log files on both active and standby [#152]

        NOTE: Still missing ~ Handling of configuration changes is still 
missing ~
        Error message in log-file when log Id is inconsistent

        - Fix init of fd = 0 to fd = -1 in log_stream_new_2()

        - Add configuration attribute for activating split file system Config 1:
        Use shared file system (default) Config 2: Split file system
        - Remove IMM applier for lgs config Replace with checkpointing of root 
path
        - Add same file handling to Standby as active if configured to do so. 
Reuse
        evt processes, handle configuration attribute.
        - Write log records to Standby if configured to do so
        - On standby if config 2; Rotate files when current filename changes. 
Also
        rotate if file has reached max size. In that case create filename based 
on
        standby node clock.


Complete diffstat:
------------------
 osaf/services/saf/logsv/config/logsv_classes.xml |    9 +-
 osaf/services/saf/logsv/lgs/lgs.h                |   11 +-
 osaf/services/saf/logsv/lgs/lgs_amf.c            |    6 +-
 osaf/services/saf/logsv/lgs/lgs_evt.c            |  109 +++++++++++--------
 osaf/services/saf/logsv/lgs/lgs_evt.h            |    4 +-
 osaf/services/saf/logsv/lgs/lgs_file.c           |    3 -
 osaf/services/saf/logsv/lgs/lgs_imm.c            |  263 
++++++++++++++++++++--------------------------
 osaf/services/saf/logsv/lgs/lgs_main.c           |    7 -
 osaf/services/saf/logsv/lgs/lgs_mbcsv.c          |  253 
+++++++++++++++++++++++++++++++++++++++-----
 osaf/services/saf/logsv/lgs/lgs_mbcsv.h          |   25 +++-
 osaf/services/saf/logsv/lgs/lgs_stream.c         |  404 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------
 osaf/services/saf/logsv/lgs/lgs_stream.h         |   28 ++++-
 osaf/services/saf/logsv/lgs/lgs_util.c           |   43 ++++++-
 osaf/services/saf/logsv/lgs/lgs_util.h           |    5 +-
 14 files changed, 826 insertions(+), 344 deletions(-)


Testing Commands:
-----------------
It's possible to run logtest to make a regression test.
Note that default configuration is to use a shared file system. In this
configuration the log service shall act as before. 
For changing configuration see log service configuration object.
Note:
To consider if changing configuration to split filesystem
- Changing of configuration (logFileSysConfig) cannot be done in runtime
- The log root directory must exist on both file systems and has an identical 
path
- The root directory configuration must contain this path (logRootDirectory)
- Tests where the log service is administrated using IMM object will not work
  correctly since the IMM handling is not yet implemented (e.g. suite 4)

Testing, Expected Results:
--------------------------
 <<PASTE COMMAND OUTPUTS / TEST RESULTS>>


Conditions of Submission:
-------------------------
 <<HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC>>


Arch      Built     Started    Linux distro
-------------------------------------------
mips        n          n
mips64      n          n
x86         n          n
x86_64      n          n
powerpc     n          n
powerpc64   n          n


Reviewer Checklist:
-------------------
[Submitters: make sure that your review doesn't trigger any checkmarks!]


Your checkin has not passed review because (see checked entries):

___ Your RR template is generally incomplete; it has too many blank entries
    that need proper data filled in.

___ You have failed to nominate the proper persons for review and push.

___ Your patches do not have proper short+long header

___ You have grammar/spelling in your header that is unacceptable.

___ You have exceeded a sensible line length in your headers/comments/text.

___ You have failed to put in a proper Trac Ticket # into your commits.

___ You have incorrectly put/left internal data in your comments/files
    (i.e. internal bug tracking tool IDs, product names etc)

___ You have not given any evidence of testing beyond basic build tests.
    Demonstrate some level of runtime or other sanity testing.

___ You have ^M present in some of your files. These have to be removed.

___ You have needlessly changed whitespace or added whitespace crimes
    like trailing spaces, or spaces before tabs.

___ You have mixed real technical changes with whitespace and other
    cosmetic code cleanup changes. These have to be separate commits.

___ You need to refactor your submission into logical chunks; there is
    too much content into a single commit.

___ You have extraneous garbage in your review (merge commits etc)

___ You have giant attachments which should never have been sent;
    Instead you should place your content in a public tree to be pulled.

___ You have too many commits attached to an e-mail; resend as threaded
    commits, or place in a public tree for a pull.

___ You have resent this content multiple times without a clear indication
    of what has changed between each re-send.

___ You have failed to adequately and individually address all of the
    comments and change requests that were proposed in the initial review.

___ You have a misconfigured ~/.hgrc file (i.e. username, email etc)

___ Your computer have a badly configured date and time; confusing the
    the threaded patch review.

___ Your changes affect IPC mechanism, and you don't present any results
    for in-service upgradability test.

___ Your changes affect user manual and documentation, your patch series
    do not contain the patch that updates the Doxygen manual.


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to