[ 
https://issues.apache.org/jira/browse/DERBY-3184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12557239#action_12557239
 ] 

Øystein Grøvlen commented on DERBY-3184:
----------------------------------------

Thinking a bit more about this patch, I have a few more
questions/comments:

11. Have you verified that there is either no way that the different
    BasicDataBase methods can be called on a SlaveDataBase while in
    slave mode, or that for those methods that may be called, no harm
    may happen?

12. The more I think about it, the less sure I am about what you are
    trying to achieve by making local_startParams volatile.  I do not
    think a volatile reference will synchronize access to the referred
    instance.  I see there might be issues with concurrent access to
    UpdateServiceProperties.storageFactory, but I think that needs to
    be solved in that class.

13. A sleep a two seconds in the boot method between checking for
    StorageFactory is unnecessary long I think.  I think a good rule
    of thumb is to make it as short as possible without significantly
    affecting the performance, and I think you can check a reference
    for null more often than every other second without affecting
    performance.  (While a two-second delay of a boot, is probably not
    an issue in production settings, there might be testing scenarios
    with repeated booting of database where the total duration of the
    test may be an issue.)


> Replication: Connection attempts to a database in slave mode must fail
> ----------------------------------------------------------------------
>
>                 Key: DERBY-3184
>                 URL: https://issues.apache.org/jira/browse/DERBY-3184
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Services
>    Affects Versions: 10.4.0.0
>            Reporter: Jørgen Løland
>            Assignee: Jørgen Løland
>         Attachments: derby-3184-1.diff, derby-3184-1.stat, 
> derby-3184-2a.diff, derby-3184-2a.stat, derby-3184-bugfix-1a.diff, 
> derby-3184-bugfix-1a.stat
>
>
> When a database 'X' is booted in slave mode, the call to  
> Monitor.startPersistentService("X",...) will not complete because the call 
> gets stuck in LogToFile#recover. This is intentional.
> For as long as startPersistentService is blocked, however, other threads that 
> try to connect to 'X' (effectively calling Monitor.findService("X", ...)) 
> will also hang. This is unacceptable, and needs to raise an error.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to