-
Type:
Story
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 1.12.0
-
Component/s: None
-
Labels:
-
Story Points:3
-
Epic Link:
-
Sprint:K Sprint #2 - Platform
Copycat's thread model goes to some length to ensure asynchronous threads cannot be blocked by a client. However, the client is largely designed for smaller systems where the threads accessing the client are more tightly controlled. The Copycat client uses a thread model like that of ZooKeeper, where events are handled on an event thread, and when the event thread is blocked they're handled on the I/O thread. However, if both the event thread and the I/O thread are blocked, the client can hang, and in ONOS multiple blocking threads is a distinct possibility (and a common occurrence). So, Copycat's client should support a provided Executor for events to ensure I/O cannot be blocked by ONOS primitives.