Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Revisions: Issue #47219 All Revisions ] Back to Issue ]
Summary 0047219: Use different runnables for EDL processes that should be executed in a specific thread
Revision 2021-06-25 14:00 by caristu
Description ImportEntryProcessors has the ability to generate a key which is used to select a runnable to execute its task.

In the case of EDLImportEntryProcessor, currently the key is calculated as follows:

- If the EDL process is configured as "Use Single Thread For Search Key", then the same key prefixed with "OBEDL" is returned for a given EDL process search key.
-If not a random key is calculated

In both cases, it is ensured that the key is a value between 0 and 20 in order to ensure that no more than 20 runnables are created for the EDL processing.

But this logic is currently not taking into account that the same runnable can be selected by EDL processes regardless of their configuration.

Taking into account that typically processes configured as "Use Single Thread For Search Key" can have more processes accumulated on its queue pending to be executed, this can cause other EDL processes that do not require to be executed on a specific thread to end waiting to be executed on that thread queue while having other runnables available without the need to wait.

So it seems that it makes sense to make the process selection key logic of the EDLImportEntryProcessor to take into account this case. Thus, process selection keys returned for those processes configured as "Use Single Thread For Search Key" will always be different than the keys returned by the rest of EDL processes.

Thus, with this solution we'll enable 40 runnables at most for EDL processing (20 for each for type: single thread and "normal" EDL processes)
Revision 2021-06-23 16:47 by caristu
Description ImportEntryProcessors has the ability to generate a key which is used to select a runnable to execute its task.

In the case of EDLImportEntryProcessor, currently the key is calculated as follows:

- If the EDL process is configured as "Use Single Thread For Search Key", then the same key prefixed with "OBEDL" is returned for a given EDL process search key.
-If not a random key is calculated

In both cases, it is ensured that the key is a value between 0 and 20 in order to ensure that no more than 20 runnables are created for the EDL processing.

But this logic is currently not taking into account that the same runnable can be selected by EDL processes regardless of their configuration.

Taking into account that typically processes configured as "Use Single Thread For Search Key" can have more processes accumulated on its queue pending to be executed, this can cause other EDL processes that do not require to be executed on a specific thread to end waiting to be executed on that thread queue while having other runnables available without the need to wait.

So it seems that it makes sense to make the process selection key logic of the EDLImportEntryProcessor to take into account this case. Thus, process selection keys returned for those processes configured as "Use Single Thread For Search Key" will always be different than the keys returned by the rest of EDL processes.
Revision 2021-06-23 12:10 by caristu
Description ImportEntryProcessors has the ability to generate a key which is used to select a runnable to execute its task.

In the case of EDLImportEntryProcessor, currently the key is calculated as follows:

- If the EDL process is configured as "Use Single Thread For Search Key", then the same key prefixed with "OBEDL" is returned for a given EDL process search key.
-If not a random key is calculated

In both cases, it is ensured that the key is a value between 0 and 20 in order to ensure that no more than 20 runnables are created for the EDL processing.

But this logic is currently not taking into account that the same runnable can be selected by EDL processes regardless of their configuration.

Taking into account that typically processes configured as "Use Single Thread For Search Key" can have more processes accumulated on its queue pending to be executed, this can cause other EDL processes that do not require to be executed on a specific thread to end waiting to be executed on that thread queue while having other runnables available without the need to wait.

So it seems that it makes sense to make the process selection key logic of the EDLImportEntryProcessor to take into account this case. Thus, process selection keys returned for those processes configured as "Use Single Thread For Search Key" will always be different than the keys returned by the rest of EDL processes.


Revision 2021-06-23 11:08 by caristu
Description ImportEntryProcessors has a method named "getProcessSelectionKey" that returns a key which is used to select a runnable to execute its task.

In the case of EDLImportEntryProcessor, this method currently is taking into account a feature that forces the EDL process to be executed in a specific runnable in particular.



Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker