[
https://issues.apache.org/jira/browse/TS-2122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13734458#comment-13734458
]
ASF subversion and git services commented on TS-2122:
-----------------------------------------------------
Commit c0354fb69ecc4ab4ad922e87cc969159bfb76051 in branch refs/heads/master
from [~yunkai]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=c0354fb ]
TS-2122: Enlarge the 64KB limitation of log buffer size
The Logging module use uint16_t(LogBuffer->m_state.s.m_offset/byte_count) to
store log buffer size.
It's very dangerous for user, as there are not any warning when user
breaks the limitation.
In our environment, we set the log_buffer_size to 512KB(and set
max_entries_per_buffer to 1000), it make ATS crashing.
This patch enlarge the limitation from 64KB to 4GB by merging *offset* and
*byte_count* variables into one, so that we can use uint32_t to store the
buffer size.
Signed-off-by: Yunkai Zhang <[email protected]>
> Enlarge the 64KB limitation of log buffer size
> ----------------------------------------------
>
> Key: TS-2122
> URL: https://issues.apache.org/jira/browse/TS-2122
> Project: Traffic Server
> Issue Type: Improvement
> Components: Logging
> Reporter: Yunkai Zhang
> Attachments:
> 0001-TS-2122-Enlarge-the-64KB-limitation-of-log-buffer-si.patch
>
>
> The Logging module use uint16_t(LogBuffer->m_state.s.m_offset/byte_count) to
> store log buffer size:
> {code}
> struct
> {
> uint16_t offset; // buffer should be <= 64KB
> uint16_t num_entries; // number of entries in buffer
> uint16_t byte_count; // bytes in buffer
> uint16_t full:1; // not accepting more checkouts
> uint16_t num_writers:15; // number of writers
> } s;
> {code}
> It's very dangerous for user, as there are not any warning when user breaks
> the limitation.
> In our environment, we set the log_buffer_size to 512KB(and set
> max_entries_per_buffer to 1000), it make ATS crashing.
> I'll give a patch to enlarge this limitation from 64KB to 4GB by merging
> *offset* and *byte_count* variables into one, so that we can use uint32_t to
> store the buffer size.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira