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

ASF GitHub Bot commented on CAMEL-12418:
----------------------------------------

Gr1f0n6x opened a new pull request #2283: CAMEL-12418: High CPU load on events 
watching
URL: https://github.com/apache/camel/pull/2283
 
 
   I believe that scheduledExecutorService with schedule method will be a 
little better then Thread.sleep(mills) (maybe i'm wrong).
   
   Also, i didn't add default value as proposed in description of this problem 
beecause as i found in `ConsulClientConfiguration` the default value of  
`blockSeconds` is 10:
   ```
   @UriParams
   public class ConsulClientConfiguration implements Cloneable {
       . . . 
       @UriParam(label = "consumer,watch", defaultValue = "10")
       private Integer blockSeconds = 10;
       . . . 
   }
   ```
   
   ## Check style
   Result of `mvn clean install -Psourcecheck`:
   ```
   [INFO] Scanning for projects...
   [INFO]                                                                       
  
   [INFO] 
------------------------------------------------------------------------
   [INFO] Building Camel :: Consul 2.22.0-SNAPSHOT
   [INFO] 
------------------------------------------------------------------------
   [INFO] 
   [INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ camel-consul ---
   [INFO] Deleting D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target
   [INFO] 
   [INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-maven) @ 
camel-consul ---
   [INFO] 
   [INFO] --- maven-bundle-plugin:3.5.0:cleanVersions (versions) @ camel-consul 
---
   [INFO] 
   [INFO] --- maven-checkstyle-plugin:3.0.0:checkstyle (default-cli) @ 
camel-consul ---
   [INFO] Starting audit...
   Audit done.
   [INFO] 
   [INFO] --- maven-remote-resources-plugin:1.5:process 
(process-resource-bundles) @ camel-consul ---
   [INFO] 
   [INFO] --- camel-package-maven-plugin:2.22.0-SNAPSHOT:prepare-components 
(prepare) @ camel-consul ---
   [INFO] Generated D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\generated\camel\components\META-INF\services\org\apache\camel\component.properties
 containing 1 Camel component: consul
   [INFO] 
   [INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ 
camel-consul ---
   [INFO] Using 'UTF-8' encoding to copy filtered resources.
   [INFO] Copying 4 resources
   [INFO] Copying 3 resources
   [INFO] Copying 1 resource
   [INFO] skip non existing resourceDirectory D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\generated\camel\dataformats
   [INFO] skip non existing resourceDirectory D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\generated\camel\languages
   [INFO] 
   [INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ 
camel-consul ---
   [INFO] Changes detected - recompiling the module!
   [INFO] Compiling 37 source files to D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\classes
   [INFO] 
   [INFO] --- maven-resources-plugin:3.0.2:testResources 
(default-testResources) @ camel-consul ---
   [INFO] Using 'UTF-8' encoding to copy filtered resources.
   [INFO] Copying 4 resources
   [INFO] Copying 3 resources
   [INFO] 
   [INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ 
camel-consul ---
   [INFO] Changes detected - recompiling the module!
   [INFO] Compiling 23 source files to D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\test-classes
   [INFO] 
   [INFO] --- maven-surefire-plugin:2.20.1:test (default-test) @ camel-consul 
---
   [INFO] Tests are skipped.
   [INFO] 
   [INFO] --- maven-bundle-plugin:3.5.0:manifest (bundle-manifest) @ 
camel-consul ---
   [WARNING] Manifest org.apache.camel:camel-consul:jar:2.22.0-SNAPSHOT : 
Unused Import-Package instructions: [org.springframework.ws.*, 
org.springframework.xml.*, org.springframework.*, org.apache.cxf.*, 
org.apache.qpid.*, org.apache.abdera.*, org.apache.commons.httpclient.*, 
org.apache.velocity.*, org.apache.xmlbeans.*, org.eclipse.jetty.*, 
com.thoughtworks.xstream.*, org.antlr.stringtemplate.*, 
org.ccil.cowan.tagsoup.*, org.mortbay.cometd.*, net.sf.flatpack.*, 
net.sf.saxon.*, freemarker.*, javax.persistence.*, org.apache.lucene.*, 
org.apache.solr.*] 
   [INFO] 
   [INFO] --- camel-package-maven-plugin:2.22.0-SNAPSHOT:validate-components 
(validate) @ camel-consul ---
   [INFO] Validation complete
   [INFO] 
   [INFO] --- 
camel-package-maven-plugin:2.22.0-SNAPSHOT:prepare-spring-boot-starter 
(validate) @ camel-consul ---
   [INFO] Spring-Boot-Starter: starter dir for the component is: D:\Program 
Files\WORK\WORK_Java\camel\platforms\spring-boot\components-starter\camel-consul-starter
   [INFO] Reusing the existing pom.xml for the starter
   [INFO] 
   [INFO] --- 
camel-package-maven-plugin:2.22.0-SNAPSHOT:prepare-spring-boot-auto-configuration
 (validate) @ camel-consul ---
   [INFO] Updated existing file: D:\Program 
Files\WORK\WORK_Java\camel\platforms\spring-boot\components-starter\camel-consul-starter\src\main\java\org\apache\camel\component\consul\springboot\ConsulComponentConfiguration.java
   [INFO] Updated existing file: D:\Program 
Files\WORK\WORK_Java\camel\platforms\spring-boot\components-starter\camel-consul-starter\src\main\java\org\apache\camel\component\consul\springboot\ConsulComponentAutoConfiguration.java
   [INFO] 
   [INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ camel-consul ---
   [INFO] Building jar: D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\camel-consul-2.22.0-SNAPSHOT.jar
   [INFO] 
   [INFO] --- maven-site-plugin:3.5.1:attach-descriptor (attach-descriptor) @ 
camel-consul ---
   [INFO] 
   [INFO] --- camel-package-maven-plugin:2.22.0-SNAPSHOT:update-readme (readme) 
@ camel-consul ---
   [INFO] 
   [INFO] --- maven-install-plugin:2.5.2:install (default-install) @ 
camel-consul ---
   [INFO] Installing D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\target\camel-consul-2.22.0-SNAPSHOT.jar
 to 
C:\Users\GrIfOn\.m2\repository\org\apache\camel\camel-consul\2.22.0-SNAPSHOT\camel-consul-2.22.0-SNAPSHOT.jar
   [INFO] Installing D:\Program 
Files\WORK\WORK_Java\camel\components\camel-consul\pom.xml to 
C:\Users\GrIfOn\.m2\repository\org\apache\camel\camel-consul\2.22.0-SNAPSHOT\camel-consul-2.22.0-SNAPSHOT.pom
   [INFO] 
------------------------------------------------------------------------
   [INFO] BUILD SUCCESS
   [INFO] 
------------------------------------------------------------------------
   [INFO] Total time: 16.378 s
   [INFO] Finished at: 2018-04-09T01:29:11+03:00
   [INFO] Final Memory: 53M/553M
   [INFO] 
------------------------------------------------------------------------
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> camel-consul - High CPU load on events watching
> -----------------------------------------------
>
>                 Key: CAMEL-12418
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12418
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-consul
>    Affects Versions: 2.21.0
>            Reporter: Viachaslau Tsikhanovich
>            Priority: Major
>             Fix For: 2.22.0
>
>
> Camel-Consul library expects EventClient to block requests and [passes number 
> of seconds to block request to 
> EventClient|https://github.com/apache/camel/blob/camel-2.21.0/components/camel-consul/src/main/java/org/apache/camel/component/consul/endpoint/ConsulEventConsumer.java#L59].
>  However Event HTTP Endpoint [does not support Blocking 
> Queries|https://www.consul.io/api/event.html] and EventClient [ignores passed 
> queryOptions|https://github.com/rickfast/consul-client/blob/1.1.1/src/main/java/com/orbitz/consul/EventClient.java#L164].
>  This results in high CPU usage because ConsulEventConsumer constantly makes 
> requests to Consul without any delay or blocking.
>  Maybe some _Thread.sleep_ could be added to _EventWatcher.watch(EventClient 
> client)_ before _client.listEvents_ call or any other fix to introduce delay 
> between _listEvents_ requests.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to