Skywalking: Invalid calls in Service topology query

Created on 9 May 2018  路  5Comments  路  Source: apache/skywalking

Please answer these questions before submitting your issue.

  • Why do you submit this issue?
  • [ ] Question or discussion
  • [x] Bug
  • [ ] Requirement
  • [ ] Feature or performance improvement

Bug

  • Which version of SkyWalking, OS and JRE?

5.0.0-alpha

  • What happen?

Invalid calls in getServiceTopology (refer to https://github.com/apache/incubator-skywalking-ui/issues/141)

backend bug

Most helpful comment

We can add a new service to check application id and instance id when agent reconnect to collector.
Flow is:

connect -> check
if(found){
   return true then agent send segments to collector.
}else{
   return false then 
   1. agent clean all the registered id cache
   2. re-register application, instance
   3. replace ids in segments or give up
}

All 5 comments

I confirmed with the users, they clear ElasticSearch, but don't reboot the monitored application(agent). So no node register and calls between unexist nodes still happen. Which could trigger this problem.

@peng-yongsheng We may need to consider to check application instance id when we receive data.

If the check mechanism provided, agent may provide a re-register mechanism after receive invalid instance id, and all local caches could be removed. We need to remove the blocking in these uncompatible upgrade.

What do you think?

We can add a new service to check application id and instance id when agent reconnect to collector.
Flow is:

connect -> check
if(found){
   return true then agent send segments to collector.
}else{
   return false then 
   1. agent clean all the registered id cache
   2. re-register application, instance
   3. replace ids in segments or give up
}

This recheck service works for me. And I highly recommend we support this in beta2. @hanahmily @ascrutae @liuhaoyang @candyleer thoughts?

I will support this in .NET Agent v0.3.

Add check method into agent-collector protocol to avoid system exception when users clean all of the data in storage. It seems not the best solution.
Why users clean all of the data?

  1. Upgrade collector
  2. Reset system

The best solution is:

  1. Agent dynamic refresh
  2. Display all the agents which connecting to the collector in UI, and by click the Reset button to reset agents.
  3. Better documentation.
Was this page helpful?
0 / 5 - 0 ratings