[ 
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)

Reply via email to