Closed daschl closed 9 years ago
Did you run this against 1.0.1? In #1898 I finally eliminated the self-interrupt. (I knew about this since I wrote ScheduledAction half-a-year ago, but lacked idea of how to fix it :)
@akarnokd actually yes, this is against 1.0.1
Let me know what info I can get you to track this down? Looks like you got an initial handle on that already
My bet is that some code swings around and calls unsubscribe on the ScheduledAction from some other thread before run() completes.
@akarnokd any idea on how to debug this properly? I can dig in for sure but you maybe have some more pointers.
Btw, do you think this has a perf impact as well?
You can place a breakpoint on ScheduledAction L122 and see if it is triggered. Second option is to place a breakpoint on Thread.interrupt() to see who is calling; but without seeing what's going on in your system, the interrupt may come from somewhere else entirely. I'm not familiar with Flightrecorder but the mere observation of your system may trigger interrupts, wouldn't be surprised.
I measured ~10% throughput increase on simple tasks because self-interrupting triggers bookkeeping in the threadpool after the task's completion which takes up time from the next task.
This is with 1.0.2.
Thanks @benjchristensen and @akarnokd for shipping this so quickly. I'll ship the next patch release of the SDK with 1.0.2 this week.
Great. I though #1898 was shipped with 1.0.1.
@akarnokd looks like it didn't? Ben put it into 1.0.2 release log as well.
Yes it was 1.0.2. That profiling result is a major improvement.
Hi folks,
I've been debugging the Couchbase Java SDK with the flight recorder a bit and something very odd came up. Even though nothing is in the logs, it looks like my computation scheduler is interrupted thousands of times per second.
Has anyone seen this before or an idea why that could be?