polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niclas Hedhman (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (POLYGENE-106) Investigate and Document the exact lifecycle of Services
Date Tue, 11 Apr 2017 07:09:41 GMT

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

Mime
View raw message