[ 
https://issues.apache.org/jira/browse/ACE-378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ronald Spierenburg updated ACE-378:
-----------------------------------

    Attachment: ACE-378.patch

During several discussions with Marcel regarding this subject we discussed two 
different solutions to this problem. 

Syncing : 
1) Tell the other targets/servers in the sync process how many log-lines we 
would want to have. This would limit data traffic and limit the disk-size used 
on the server for logs.
2) Don't tell the other party of the limit and remove what we don't need.

Option 2 was deemed the most appropriate because option 1 would require a new 
protocol version (and all the problems that come with that). 

Storage :
1) Limit the total disk-size used for logs
2) Limit the size of the logs of a per target
3) Limit the number of events of a per log for a per target

At first a combination of option 1+2 was chosen because this would make sure 
that the amount of allocated disk-space would not be exceeded and that there 
wouldn't be gateways 'hogging' the store.
Processing all the logs for a single target synchronously on every put 
operation would however have a significant negative impact on performance and 
therefore this option is discarded. 

In the end solution 3 was picked as a solution that could be a) fast and b) 
easily implemented. This off course means that there could still be lots of 
disk-space used, potentially without limits. This risk is deemed minimal. When 
scaling ACE up the amount of data in an auditlog can be estimated. Other 
channels can not be predicted by ace but the amount of data can be estimated by 
the users of that channel. 
The locking strategy for the logstore (synchronized public operations) is 
changed to a more refined locking mechanism based on the store for the target 
to speed up parallel log processing.


Solution
Sync option 2 with storage option 3 are implemented in the enclosed patch. To 
facilitate changed configurations (and the extra cleanup they may entail) a 
gogo-shell command is included that will manually perform a cleanup according 
to the newly configured maximum size.


> Truncate server logs.
> ---------------------
>
>                 Key: ACE-378
>                 URL: https://issues.apache.org/jira/browse/ACE-378
>             Project: ACE
>          Issue Type: Improvement
>          Components: Log
>            Reporter: Marcel Offermans
>            Assignee: Angelo van der Sijpt
>         Attachments: ACE-378.patch
>
>
> We need a configurable way to truncate the logs that are stored on the 
> server. At least we should be able to limit them to some maximum size.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to