You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2020/06/19 11:04:28 UTC

[GitHub] [pulsar] AcrazyDog opened a new issue #7317: too many pulsar-time-io threads

AcrazyDog opened a new issue #7317:
URL: https://github.com/apache/pulsar/issues/7317


   ### There are too many pulsar-client-io threads
   
   **this is the java stack log:**
   ```
   pulsar-client-io-1-1" #24 prio=5 os_prio=0 cpu=314758.89ms elapsed=1280545.04s tid=0x00007f482d1ce000 nid=0x28 runnable  [0x00007f47fc6f1000]
   pulsar-client-io-5-1" #81 daemon prio=5 os_prio=0 cpu=9076.13ms elapsed=1280376.91s tid=0x00007f47a007b800 nid=0x63 runnable  [0x00007f4783d80000]
   pulsar-client-io-8-1" #120 daemon prio=5 os_prio=0 cpu=8831.74ms elapsed=1240459.20s tid=0x00007f47940a0000 nid=0xab runnable  [0x00007f4780275000]
   pulsar-client-io-11-1" #122 daemon prio=5 os_prio=0 cpu=8932.74ms elapsed=1240355.67s tid=0x00007f47ac267800 nid=0xad runnable  [0x00007f4780073000]
   pulsar-client-io-14-1" #253 daemon prio=5 os_prio=0 cpu=8299.04ms elapsed=1222306.60s tid=0x00007f47a0004800 nid=0x171 runnable  [0x00007f477b163000]
   pulsar-client-io-17-1" #255 daemon prio=5 os_prio=0 cpu=8699.90ms elapsed=1222233.95s tid=0x0000000000e71000 nid=0x173 runnable  [0x00007f477bc6b000]
   pulsar-client-io-20-1" #421 daemon prio=5 os_prio=0 cpu=8397.78ms elapsed=1198467.79s tid=0x00007f48086f5000 nid=0x238 runnable  [0x00007f477a11b000]
   pulsar-client-io-23-1" #423 daemon prio=5 os_prio=0 cpu=8503.60ms elapsed=1198197.41s tid=0x00007f4794164800 nid=0x23a runnable  [0x00007f477bb6a000]
   pulsar-client-io-26-1" #747 daemon prio=5 os_prio=0 cpu=6536.61ms elapsed=958511.26s tid=0x00007f4790040800 nid=0x387 runnable  [0x00007f4779b17000]
   pulsar-client-io-29-1" #749 daemon prio=5 os_prio=0 cpu=6956.40ms elapsed=958124.92s tid=0x00007f478c24f000 nid=0x389 runnable  [0x00007f4779612000]
   pulsar-client-io-32-1" #981 daemon prio=5 os_prio=0 cpu=6346.76ms elapsed=895642.49s tid=0x00007f47941ca800 nid=0x471 runnable  [0x00007f477910f000]
   pulsar-client-io-35-1" #983 daemon prio=5 os_prio=0 cpu=5932.59ms elapsed=895390.89s tid=0x00007f47943cb000 nid=0x473 runnable  [0x00007f4779a16000]
   pulsar-client-io-38-1" #1080 daemon prio=5 os_prio=0 cpu=5902.60ms elapsed=883618.00s tid=0x00007f482dd7e000 nid=0x4d5 runnable  [0x00007f4779f19000]
   pulsar-client-io-41-1" #1082 daemon prio=5 os_prio=0 cpu=6043.70ms elapsed=883548.31s tid=0x00007f4790155800 nid=0x4d7 runnable  [0x00007f4778c0a000]
   pulsar-client-io-44-1" #1309 daemon prio=5 os_prio=0 cpu=6087.86ms elapsed=851503.15s tid=0x00007f478c50b000 nid=0x5ba runnable  [0x00007f4778f0d000]
   pulsar-client-io-47-1" #1311 daemon prio=5 os_prio=0 cpu=4694.24ms elapsed=851339.30s tid=0x00007f479c1cb800 nid=0x5bc runnable  [0x00007f4778e0c000]
   pulsar-client-io-50-1" #1517 daemon prio=5 os_prio=0 cpu=5777.77ms elapsed=798991.64s tid=0x00007f479c0da800 nid=0x68a runnable  [0x00007f4778a08000]
   pulsar-client-io-53-1" #1519 daemon prio=5 os_prio=0 cpu=5604.40ms elapsed=798961.44s tid=0x00007f478c41f800 nid=0x68c runnable  [0x00007f4778503000]
   pulsar-client-io-56-1" #1521 daemon prio=5 os_prio=0 cpu=4949.83ms elapsed=798959.30s tid=0x00007f482ced4000 nid=0x68e runnable  [0x00007f47780ff000]
   pulsar-client-io-59-1" #1704 daemon prio=5 os_prio=0 cpu=4828.64ms elapsed=784990.56s tid=0x00007f478c34e800 nid=0x745 runnable  [0x00007f4777cfb000]
   pulsar-client-io-62-1" #1706 daemon prio=5 os_prio=0 cpu=5119.71ms elapsed=784954.74s tid=0x00007f47940e0000 nid=0x747 runnable  [0x00007f4777dfc000]
   pulsar-client-io-65-1" #1766 daemon prio=5 os_prio=0 cpu=4707.07ms elapsed=772509.08s tid=0x00007f47983a0000 nid=0x783 runnable  [0x00007f47779f8000]
   pulsar-client-io-68-1" #1768 daemon prio=5 os_prio=0 cpu=4966.96ms elapsed=772163.62s tid=0x00007f479c23d800 nid=0x785 runnable  [0x00007f4778705000]
   pulsar-client-io-71-1" #1771 daemon prio=5 os_prio=0 cpu=5286.14ms elapsed=772004.59s tid=0x00007f478c223800 nid=0x788 runnable  [0x00007f47778f7000]
   pulsar-client-io-74-1" #1773 daemon prio=5 os_prio=0 cpu=5010.77ms elapsed=771689.74s tid=0x0000000000e85800 nid=0x78a runnable  [0x00007f47776f5000]
   pulsar-client-io-77-1" #2091 daemon prio=5 os_prio=0 cpu=4518.35ms elapsed=711457.22s tid=0x00007f478c411800 nid=0x8c8 runnable  [0x00007f4778604000]
   pulsar-client-io-80-1" #2093 daemon prio=5 os_prio=0 cpu=4431.26ms elapsed=711444.64s tid=0x00007f47a00a0000 nid=0x8ca runnable  [0x00007f47774f3000]
   pulsar-client-io-83-1" #2095 daemon prio=5 os_prio=0 cpu=4145.58ms elapsed=711410.73s tid=0x00007f47ac027800 nid=0x8cc runnable  [0x00007f4778402000]
   pulsar-client-io-86-1" #2099 daemon prio=5 os_prio=0 cpu=4629.42ms elapsed=711242.65s tid=0x0000000000e67800 nid=0x8d0 runnable  [0x00007f4776eed000]
   pulsar-client-io-89-1" #2216 daemon prio=5 os_prio=0 cpu=4417.98ms elapsed=703733.36s tid=0x00007f4808247000 nid=0x945 runnable  [0x00007f4776ae9000]
   pulsar-client-io-92-1" #2218 daemon prio=5 os_prio=0 cpu=4705.48ms elapsed=703676.17s tid=0x00007f47986b5800 nid=0x947 runnable  [0x00007f4776bea000]
   pulsar-client-io-95-1" #2488 daemon prio=5 os_prio=0 cpu=3729.96ms elapsed=607818.82s tid=0x00007f47900b0800 nid=0xa55 runnable  [0x00007f47769e8000]
   pulsar-client-io-98-1" #2490 daemon prio=5 os_prio=0 cpu=3798.46ms elapsed=607738.41s tid=0x00007f47ac053000 nid=0xa57 runnable  [0x00007f47765e4000]
   pulsar-client-io-101-1" #2764 daemon prio=5 os_prio=0 cpu=3501.12ms elapsed=538560.96s tid=0x00007f479013b000 nid=0xb69 runnable  [0x00007f47764e3000]
   pulsar-client-io-104-1" #2766 daemon prio=5 os_prio=0 cpu=3450.29ms elapsed=538546.50s tid=0x00007f482c8b4800 nid=0xb6b runnable  [0x00007f4776fee000]
   pulsar-client-io-107-1" #2768 daemon prio=5 os_prio=0 cpu=3351.41ms elapsed=538525.91s tid=0x00007f47986b2800 nid=0xb6d runnable  [0x00007f47760df000]
   pulsar-client-io-110-1" #2770 daemon prio=5 os_prio=0 cpu=3661.69ms elapsed=538393.36s tid=0x00007f47ac24f000 nid=0xb6f runnable  [0x00007f4775edd000]
   pulsar-client-io-113-1" #2772 daemon prio=5 os_prio=0 cpu=3249.24ms elapsed=538285.16s tid=0x00007f4794162000 nid=0xb71 runnable  [0x00007f4775cdb000]
   pulsar-client-io-116-1" #2774 daemon prio=5 os_prio=0 cpu=3385.37ms elapsed=538187.31s tid=0x0000000000eb0800 nid=0xb73 runnable  [0x00007f4775ad9000]
   pulsar-client-io-119-1" #2777 daemon prio=5 os_prio=0 cpu=3294.14ms elapsed=536649.46s tid=0x00007f478c272800 nid=0xb76 runnable  [0x00007f47757d6000]
   pulsar-client-io-122-1" #2779 daemon prio=5 os_prio=0 cpu=3379.38ms elapsed=536540.02s tid=0x00007f479839f000 nid=0xb78 runnable  [0x00007f47755d4000]
   pulsar-client-io-125-1" #3360 daemon prio=5 os_prio=0 cpu=1458.91ms elapsed=236875.47s tid=0x00007f4798388000 nid=0xdbd runnable  [0x00007f47753d2000]
   pulsar-client-io-128-1" #3362 daemon prio=5 os_prio=0 cpu=1386.61ms elapsed=236846.98s tid=0x00007f478c43d800 nid=0xdbf runnable  [0x00007f47752d1000]
   pulsar-client-io-131-1" #3364 daemon prio=5 os_prio=0 cpu=1412.30ms elapsed=236221.34s tid=0x00007f47940ff800 nid=0xdc1 runnable  [0x00007f47758d7000]
   pulsar-client-io-134-1" #3366 daemon prio=5 os_prio=0 cpu=1510.94ms elapsed=236037.30s tid=0x00007f47ac1f5800 nid=0xdc3 runnable  [0x00007f4774dce000]
   pulsar-client-io-137-1" #3368 daemon prio=5 os_prio=0 cpu=1387.96ms elapsed=236007.60s tid=0x00007f4790013000 nid=0xdc5 runnable  [0x00007f4774bcc000]
   pulsar-client-io-140-1" #3370 daemon prio=5 os_prio=0 cpu=1588.18ms elapsed=235817.30s tid=0x0000000000ec2000 nid=0xdc7 runnable  [0x00007f47749ca000]
   pulsar-client-io-143-1" #3372 daemon prio=5 os_prio=0 cpu=1421.16ms elapsed=235662.86s tid=0x00007f48081ee000 nid=0xdc9 runnable  [0x00007f47747c8000]
   pulsar-client-io-146-1" #3374 daemon prio=5 os_prio=0 cpu=1373.43ms elapsed=235159.37s tid=0x00007f482ce88800 nid=0xdcb runnable  [0x00007f47745c6000]
   pulsar-client-io-149-1" #3376 daemon prio=5 os_prio=0 cpu=1378.06ms elapsed=235150.89s tid=0x00007f479c0fd800 nid=0xdcd runnable  [0x00007f47743c4000]
   pulsar-client-io-152-1" #3378 daemon prio=5 os_prio=0 cpu=1407.16ms elapsed=235126.17s tid=0x0000000000ec0000 nid=0xdcf runnable  [0x00007f47741c2000]
   pulsar-client-io-155-1" #3380 daemon prio=5 os_prio=0 cpu=1391.10ms elapsed=235124.79s tid=0x00007f47a0168000 nid=0xdd1 runnable  [0x00007f4773fc0000]
   pulsar-client-io-158-1" #3382 daemon prio=5 os_prio=0 cpu=1360.23ms elapsed=234875.61s tid=0x00007f47a04b7000 nid=0xdd3 runnable  [0x00007f4773dbe000]
   pulsar-client-io-161-1" #3384 daemon prio=5 os_prio=0 cpu=1406.33ms elapsed=234727.98s tid=0x00007f478c4c7000 nid=0xdd5 runnable  [0x00007f4773bbc000]
   pulsar-client-io-164-1" #3386 daemon prio=5 os_prio=0 cpu=1344.20ms elapsed=234316.79s tid=0x0000000000ec5800 nid=0xdd7 runnable  [0x00007f47739ba000]
   pulsar-client-io-167-1" #3388 daemon prio=5 os_prio=0 cpu=1483.34ms elapsed=234245.28s tid=0x00007f47940db800 nid=0xdd9 runnable  [0x00007f47737b8000]
   pulsar-client-io-170-1" #3390 daemon prio=5 os_prio=0 cpu=1361.16ms elapsed=234007.15s tid=0x00007f4808019800 nid=0xddb runnable  [0x00007f47735b6000]
   pulsar-client-io-173-1" #3392 daemon prio=5 os_prio=0 cpu=1537.34ms elapsed=233721.11s tid=0x00007f4790140000 nid=0xddd runnable  [0x00007f47733b4000]
   pulsar-client-io-176-1" #3394 daemon prio=5 os_prio=0 cpu=1551.21ms elapsed=232980.52s tid=0x00007f478c260800 nid=0xddf runnable  [0x00007f47731b2000]
   pulsar-client-io-179-1" #3396 daemon prio=5 os_prio=0 cpu=1470.75ms elapsed=232904.33s tid=0x00007f482d039000 nid=0xde1 runnable  [0x00007f4772fb0000]
   pulsar-client-io-182-1" #3398 daemon prio=5 os_prio=0 cpu=1436.72ms elapsed=232453.50s tid=0x00007f479c1c5800 nid=0xde3 runnable  [0x00007f4772dae000]
   pulsar-client-io-185-1" #3412 daemon prio=5 os_prio=0 cpu=1313.97ms elapsed=205459.77s tid=0x00007f4790042800 nid=0xdf1 runnable  [0x00007f47729aa000]
   pulsar-client-io-188-1" #3467 daemon prio=5 os_prio=0 cpu=1214.82ms elapsed=199298.47s tid=0x00007f479c156800 nid=0xe28 runnable  [0x00007f47727a8000]
   pulsar-client-io-191-1" #3469 daemon prio=5 os_prio=0 cpu=1209.01ms elapsed=199238.08s tid=0x00007f47ac205800 nid=0xe2a runnable  [0x00007f47724a5000]
   pulsar-client-io-194-1" #3734 daemon prio=5 os_prio=0 cpu=641.44ms elapsed=114897.82s tid=0x00007f4808015800 nid=0xf38 runnable  [0x00007f47721a2000]
   pulsar-client-io-197-1" #3822 daemon prio=5 os_prio=0 cpu=652.21ms elapsed=105161.39s tid=0x00007f479c0cd800 nid=0xf91 runnable  [0x00007f47720a1000]
   pulsar-client-io-200-1" #3824 daemon prio=5 os_prio=0 cpu=653.24ms elapsed=105117.04s tid=0x00007f478c0b4800 nid=0xf93 runnable  [0x00007f4772bac000]
   pulsar-client-io-203-1" #3905 daemon prio=5 os_prio=0 cpu=584.60ms elapsed=99323.91s tid=0x00007f479051a800 nid=0xfe6 runnable  [0x00007f4771b9c000]
   pulsar-client-io-206-1" #3907 daemon prio=5 os_prio=0 cpu=626.13ms elapsed=99278.82s tid=0x00007f482e296800 nid=0xfe8 runnable  [0x00007f4771e9f000]
   pulsar-client-io-209-1" #3974 daemon prio=5 os_prio=0 cpu=294.04ms elapsed=45699.41s tid=0x00007f4794101000 nid=0x1033 runnable  [0x00007f4771899000]
   pulsar-client-io-212-1" #3976 daemon prio=5 os_prio=0 cpu=281.21ms elapsed=45152.89s tid=0x00007f4808012000 nid=0x1035 runnable  [0x00007f4771c9d000]
   pulsar-client-io-215-1" #3980 daemon prio=5 os_prio=0 cpu=214.71ms elapsed=37687.16s tid=0x00007f47ac026800 nid=0x1039 runnable  [0x00007f4771a9b000]
   pulsar-client-io-218-1" #3982 daemon prio=5 os_prio=0 cpu=220.62ms elapsed=37041.72s tid=0x00007f479011f800 nid=0x103b runnable  [0x00007f4771596000]
   pulsar-client-io-221-1" #3984 daemon prio=5 os_prio=0 cpu=228.30ms elapsed=36989.32s tid=0x00007f479c183000 nid=0x103d runnable  [0x00007f4771394000]
   pulsar-client-io-224-1" #4064 daemon prio=5 os_prio=0 cpu=141.85ms elapsed=25853.11s tid=0x00007f4808017800 nid=0x108d runnable  [0x00007f4771192000]
   pulsar-client-io-227-1" #4066 daemon prio=5 os_prio=0 cpu=132.41ms elapsed=25683.95s tid=0x00007f478c58c800 nid=0x108f runnable  [0x00007f4771091000]
   pulsar-client-io-230-1" #4202 daemon prio=5 os_prio=0 cpu=48.60ms elapsed=7776.98s tid=0x00007f4794178800 nid=0x1117 runnable  [0x00007f4770b8c000]
   ```
   And There is only one consumer,code:
   ```java
         Consumer<byte[]> consumer = pulsarClient.newConsumer()
                   .topic(topics)
                   .subscriptionType(SubscriptionType.Exclusive)
                   .subscriptionName(qmSubscriptionName)
                   .subscribe();
           while (true) {
   
               try {
                   Message<byte[]> receive = consumer.receive();
                   String message = new String(receive.getData());
   
        
                   String uid = ObjectId.get().toHexString();
                   MDC.put("requestUUID", uid);
   
                   log.debug("receive data:{}", message);
                   log.debug("receive message:{}", receive.getMessageId());
                   try {
                       //invoker method
                       Object invokeResult = method.invoke(bean, receive);
                       log.debug("invokeResult:{}", JSONObject.toJSONString(invokeResult));
                       log.debug("sequenceId:{}", receive.getSequenceId());
   
                   } catch (Exception e) {
                       log.error("error:", e);
                       continue;
                   }
                    consumer.acknowledge(receive.getMessageId());
   
               } finally {
                   MDC.clear();
               }
           }
   ```
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] AcrazyDog edited a comment on issue #7317: too many pulsar-time-io threads

Posted by GitBox <gi...@apache.org>.
AcrazyDog edited a comment on issue #7317:
URL: https://github.com/apache/pulsar/issues/7317#issuecomment-649987785


   > @AcrazyDog Can you share the code of how you build the pulsar client?
   Thanks for you reply.
   
   first,I build a PulsarClient Bean by Spring like this:
   
   ```java
       @Bean
       public PulsarClient getPulsarClient() throws PulsarClientException {
           return PulsarClient.builder()
                   .serviceUrl(pulsar_service_url)
                   .build();
   ```
   
   and then I use it :
   ```java
       @Autowired
       private PulsarClient pulsarClient;
   
       public MessageId send(Object object, String topic) {
           return this.send(object, "key", topic);
       }
   
       public MessageId send(Object object, String key, String topic) {
           try (Producer producer = getProducer(pulsarClient, topic)) {
               String message = JSONObject.toJSONString(object, SerializerFeature.WriteMapNullValue);
               MessageId messageId = producer.newMessage().eventTime(System.currentTimeMillis()).key(key)
                       .value(message.getBytes()).send();
               log.info("send to pulsar topic :{} message :{} ",topic,message);
               return messageId;
           } catch (PulsarClientException e) {
               log.error("send pulsar message error:", e);
               throw new RuntimeException(e);
           }
       }
   
       private Producer getProducer(PulsarClient client, String topic) throws PulsarClientException {
           return client.newProducer()
                   .topic(topic)
                   .create();
       }
   ```
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] AcrazyDog commented on issue #7317: too many pulsar-time-io threads

Posted by GitBox <gi...@apache.org>.
AcrazyDog commented on issue #7317:
URL: https://github.com/apache/pulsar/issues/7317#issuecomment-649987785


   > @AcrazyDog Can you share the code of how you build the pulsar client?
   Thanks for you reply.
   
   first,I build a PulsarClient Bean by Spring like this:
   
   ```java
       @Bean
       public PulsarClient getPulsarClient() throws PulsarClientException {
           return PulsarClient.builder()
                   .serviceUrl(pulsar_service_url)
                   .build();
   ```
   
   and then I user it :
   ```java
       @Autowired
       private PulsarClient pulsarClient;
   
       public MessageId send(Object object, String topic) {
           return this.send(object, "key", topic);
       }
   
       public MessageId send(Object object, String key, String topic) {
           try (Producer producer = getProducer(pulsarClient, topic)) {
               String message = JSONObject.toJSONString(object, SerializerFeature.WriteMapNullValue);
               MessageId messageId = producer.newMessage().eventTime(System.currentTimeMillis()).key(key)
                       .value(message.getBytes()).send();
               log.info("send to pulsar topic :{} message :{} ",topic,message);
               return messageId;
           } catch (PulsarClientException e) {
               log.error("send pulsar message error:", e);
               throw new RuntimeException(e);
           }
       }
   
       private Producer getProducer(PulsarClient client, String topic) throws PulsarClientException {
           return client.newProducer()
                   .topic(topic)
                   .create();
       }
   ```
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] merlimat commented on issue #7317: too many pulsar-time-io threads

Posted by GitBox <gi...@apache.org>.
merlimat commented on issue #7317:
URL: https://github.com/apache/pulsar/issues/7317#issuecomment-650418746


   @AcrazyDog It looks like the spring bean is creating a new instance of the Pulsar client each time.
   
   Also, you need to just create the producer once, not once per message.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] sijie commented on issue #7317: too many pulsar-time-io threads

Posted by GitBox <gi...@apache.org>.
sijie commented on issue #7317:
URL: https://github.com/apache/pulsar/issues/7317#issuecomment-647863252


   @AcrazyDog Can you share the code of how you build the pulsar client?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org