hi Marcus,

Sorry for getting back so late, but I got sick last Friday.

> On Mar 14, 2016, at 5:52 AM, Marcus Larsson <marcus.lars...@oracle.com> wrote:
> 
>> 
>> -----------------------------------------------
>> #3 File src/share/vm/logging/log.cpp
>> 
>> The number_of_lines_with_substring_in_file() function will not count the 
>> substrings that happen to lay across the boundary at sizeof(buf). For 
>> example with:
>> 
>>  char buf[16];
>> 
>> and file consisting of “12345678901234gerard1234567890” it will return 0 for 
>> number_of_lines_with_substring_in_file(file, “gerard")
> 
> Yeah I'm aware of this limitation. It's only used in the test though, where 
> I'm hoping it won't be a problem. Would a comment about this be enough?

It would be very unfortunate if the test failed because of some corner case 
involving this limitation. Since the code is not on a performance path, and 
only used in the test, couldn’t we use fseek(); rewind(); to find the buffer 
size we need, and then use NEW_C_HEAP_ARRAY() to allocate exactly as much 
memory as we need?


cheers


> Seems like a good idea to me.
> 
> Thanks,
> Marcus
> 
>> 
>> 
>>> On Mar 11, 2016, at 8:21 AM, Marcus Larsson <marcus.lars...@oracle.com> 
>>> wrote:
>>> 
>>> Third time's the charm.
>>> 
>>> Webrev:
>>> http://cr.openjdk.java.net/~mlarsson/8146879/webrev.03/
>>> 
>>> This patch makes log file rotation the default. Default thresholds are 5 
>>> rotated files with a target size of 20MiB. Truncating behavior can be 
>>> achieved by setting filecount to 0 (-Xlog::myfile.log::filecount=0).
>>> 
>>> If a log file already exists during log file initialization it will be 
>>> rotated. If any of the target file names (file.0 to file.4 in the default 
>>> case) are available, that filename will be used for the existing log. If 
>>> all names are taken the VM will attempt to overwrite the oldest file.
>>> 
>>> This should prevent unlimited log file creations and avoid accidental loss 
>>> of log files from previous runs. The default thresholds (5 files, 20MiB 
>>> each) is just a suggestion. If you think it should be higher/lower let me 
>>> know.
>>> 
>>> Tested with included internal VM tests through RBT.
>>> 
>>> Thanks,
>>> Marcus
>>> 
>>> On 2016-03-01 15:05, Marcus Larsson wrote:
>>>> Hi,
>>>> 
>>>> After some offline discussions I'm withdrawing this patch. I will instead 
>>>> investigate if I can achieve similar behavior using log rotation as the 
>>>> default.
>>>> 
>>>> Thanks,
>>>> Marcus
>>>> 
>>>> On 03/01/2016 12:11 PM, Marcus Larsson wrote:
>>>>> Hi again,
>>>>> 
>>>>> Taking a different approach to this.
>>>>> 
>>>>> New webrev:
>>>>> http://cr.openjdk.java.net/~mlarsson/8146879/webrev.01/
>>>>> 
>>>>> Existing files will now by default be renamed/archived with a .X suffix 
>>>>> where X is the lowest number such that the resulting file name is 
>>>>> available (jvm.log becomes jvm.log.0). A mode option for controlling this 
>>>>> behavior has been added as well. It can be set to archive, append, or 
>>>>> truncate (i.e. -Xlog::jvm.log::mode=truncate).
>>>>> 
>>>>> Tested with included jtreg test through JPRT.
>>>>> 
>>>>> Thanks,
>>>>> Marcus
>>>>> 
>>>>> On 01/14/2016 04:00 PM, Marcus Larsson wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> Please review the following patch to make sure UL truncates existing log 
>>>>>> files before writing to them. Since files are opened in append mode, 
>>>>>> truncation isn't done automatically, so instead the patch adds an 
>>>>>> attempt to remove the log file before opening it.
>>>>>> 
>>>>>> Webrev:
>>>>>> http://cr.openjdk.java.net/~mlarsson/8146879/webrev.00/
>>>>>> 
>>>>>> Issue:
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8146879
>>>>>> 
>>>>>> Testing:
>>>>>> Included test through JPRT
>>>>>> 
>>>>>> Thanks,
>>>>>> Marcus

Reply via email to