You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polygene.apache.org by "Niclas Hedhman (JIRA)" <ji...@apache.org> on 2017/04/11 07:09:41 UTC
[jira] [Updated] (POLYGENE-106) Investigate and Document the exact
lifecycle of Services
[ https://issues.apache.org/jira/browse/POLYGENE-106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Niclas Hedhman updated POLYGENE-106:
------------------------------------
Description:
The Bootstrap is required to be single-threaded, no concurrency measures are present, and any multi-threaded code executing before the application has been activated, is deemed "undefined" and "potentially fatal".
But, services are allowed to be lazy-instantiated, which is even the default, which means that their activation must be fully thread-safe, including the new activation/passivation system for services. POLYGENE-39 might indicate that the initialize() method hadn't been executed in full, before another thread is granted access to the FileEntityStore, causing "slices==0" and a DivideByZero exception to be thrown.
I think it is essential that the exact details and locks involved, are fully investigated and documented to understand what happens during the instantiation/activation/initialization phase of a service, long after the application has been activated.
was:
The Bootstrap is required to be single-threaded, no concurrency measures are present, and any multi-threaded code executing before the application has been activated, is deemed "undefined" and "potentially fatal".
But, services are allowed to be lazy-instantiated, which is even the default, which means that their activation must be fully thread-safe, including the new activation/passivation system for services. ZEST-39 might indicate that the initialize() method hadn't been executed in full, before another thread is granted access to the FileEntityStore, causing "slices==0" and a DivideByZero exception to be thrown.
I think it is essential that the exact details and locks involved, are fully investigated and documented to understand what happens during the instantiation/activation/initialization phase of a service, long after the application has been activated.
> Investigate and Document the exact lifecycle of Services
> --------------------------------------------------------
>
> Key: POLYGENE-106
> URL: https://issues.apache.org/jira/browse/POLYGENE-106
> Project: Polygene
> Issue Type: Bug
> Reporter: Niclas Hedhman
>
> The Bootstrap is required to be single-threaded, no concurrency measures are present, and any multi-threaded code executing before the application has been activated, is deemed "undefined" and "potentially fatal".
> But, services are allowed to be lazy-instantiated, which is even the default, which means that their activation must be fully thread-safe, including the new activation/passivation system for services. POLYGENE-39 might indicate that the initialize() method hadn't been executed in full, before another thread is granted access to the FileEntityStore, causing "slices==0" and a DivideByZero exception to be thrown.
> I think it is essential that the exact details and locks involved, are fully investigated and documented to understand what happens during the instantiation/activation/initialization phase of a service, long after the application has been activated.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)