[ https://issues.apache.org/jira/browse/OAK-2960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14578575#comment-14578575 ]
Francesco Mari commented on OAK-2960: ------------------------------------- bq. It is also present in the DocumentNodeStoreService as I mentioned above. Sorry, I didn't read carefully. My same comments apply to {{DocumentNodeStoreService}} as well. bq. Why? Is it required by the specification, asking as I don't know. It is not strictly required by the specification. It is a matter of conventions, though. If you design your component to ignore some changes in the configuration, it should be documented in a very visible way. Moreover, it may be worth logging an INFO message in the {{@Modified}} method describing what configuration option is being ignored and why. It should be also documented that for a configuration to be fully applied, that same configuration must be unbound and bound again. bq. Well, the current implementations do just that but in addition also do update some non-critical properties (via the @Modified) method. Not completely true. Changes to properties are persistently saved in the configuration by the CM Implementation, but are not picked up by the component unless that same configuration is unbound and bound again. Persisting the properties and propagating the configuration to the component are two different steps, see section 104.5.3 in the OSGi Compendium. If a {{@Modified}} method is present, the component is not reactivated, see sections 112.5.12 and 112.5.14 in the OSGi compendium > SegmentNodeStoreService doesn't fully implement a @Modified method > ------------------------------------------------------------------ > > Key: OAK-2960 > URL: https://issues.apache.org/jira/browse/OAK-2960 > Project: Jackrabbit Oak > Issue Type: Bug > Components: segmentmk > Reporter: Francesco Mari > Priority: Critical > Fix For: 1.3.1 > > Attachments: OAK-2960-01.patch > > > The {{SegmentNodeStoreService}} component recently introduced an > {{@Modified}} method that picks up changes in just one configuration property > and ignores the rest. > Some configuration properties, like {{customBlobStore}}, have a huge impact > on the dynamic behaviour of the component. If the component fails to pick up > these changes, its behaviour is just wrong. > The {{@Modified}} method should be removed. It is safer to go through a > complete deactivation and activation process. -- This message was sent by Atlassian JIRA (v6.3.4#6332)