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