[ 
https://issues.apache.org/jira/browse/ARTEMIS-1474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16212672#comment-16212672
 ] 

ASF GitHub Bot commented on ARTEMIS-1474:
-----------------------------------------

Github user clebertsuconic commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/1602#discussion_r145971476
  
    --- Diff: 
artemis-journal/src/main/java/org/apache/activemq/artemis/core/io/buffer/TimedBuffer.java
 ---
    @@ -34,6 +34,25 @@
     import org.apache.activemq.artemis.journal.ActiveMQJournalLogger;
     
     public final class TimedBuffer {
    +
    +   /**
    +    * Property name to set the percentage of error allowed while expiring 
the flush {@code timeout} to happen:
    +    * it can assume any positive value from {@code 0} to {@link 
Integer#MAX_VALUE}.
    +    * <p>
    +    * By default it is {@link #DEFAULT_TIMEOUT_ERROR_PERCENTAGE} more than 
the configured {@code timeout}.
    +    */
    +   public static final String JOURNAL_TIMEOUT_ERROR_PROPERTY_NAME = 
"journal.timeout.error";
    +   public static final int DEFAULT_TIMEOUT_ERROR_PERCENTAGE = 50;
    +   private static final double MAX_TIMEOUT_ERROR;
    +
    +   static {
    +      final int errorPercentage = 
Integer.getInteger(JOURNAL_TIMEOUT_ERROR_PROPERTY_NAME, 
DEFAULT_TIMEOUT_ERROR_PERCENTAGE);
    +      if (errorPercentage < 0) {
    +         throw new RuntimeException("The sleep error percentage must be >= 
0");
    +      }
    +      MAX_TIMEOUT_ERROR = 1 + (errorPercentage / 100);
    --- End diff --
    
    What is this timeout error? what magic number is this?
    
    Before the error was a constant of 50% of the requested nanoTime... I don't 
understand what is this.


> TimedBuffer need sleep error detection measured against the expected timeout
> ----------------------------------------------------------------------------
>
>                 Key: ARTEMIS-1474
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1474
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Minor
>
> The current TimedBuffer implementation evaluate the sleep accuracy measuring 
> the error against the elapsed sleep time while the original version was using 
> the error related to the overall expected timeout: It would be better due to 
> the sleep/parkNanos behaviour to maintain the original evaluation method, but 
> using the improved discounted (with the last flush time) sleep time in order 
> to not exeeding to delay flushes.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to