You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Jamie goodyear (JIRA)" <ji...@apache.org> on 2010/02/24 15:30:27 UTC

[jira] Created: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

[Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
-------------------------------------------------------------------------------------------------------------------------------------

                 Key: FELIX-2130
                 URL: https://issues.apache.org/jira/browse/FELIX-2130
             Project: Felix
          Issue Type: Bug
          Components: Karaf
         Environment: Oracle XE Database backend for Karaf JDBC Lock.
            Reporter: Jamie goodyear



Two part issue.
1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.

2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.

I'll be supplying a patch for this issue.

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


[jira] Assigned: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet reassigned FELIX-2130:
--------------------------------------

    Assignee: Guillaume Nodet  (was: Chris Custine)

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>            Assignee: Guillaume Nodet
>         Attachments: felix2130.patch, felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Resolved: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Guillaume Nodet resolved FELIX-2130.
------------------------------------

    Fix Version/s: karaf 1.6.0
       Resolution: Fixed

I've applied the first patch as I don't think having a growing delay for the keep alive is a good idea.   I would be ok with a different value if there is a need, but using a growing delay would mean that after some time, the delay for the keep alive could be one day, which does not make sense i think.

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>            Assignee: Guillaume Nodet
>             Fix For: karaf 1.6.0
>
>         Attachments: felix2130.patch, felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Updated: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Jamie goodyear (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jamie goodyear updated FELIX-2130:
----------------------------------

    Attachment: felix2130.patch

File: felix2130.patch

This updated file contains the changes from the original patch file, plus an incremental sleep that resets when a successful lock occurs.

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>            Assignee: Chris Custine
>         Attachments: felix2130.patch, felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Updated: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Jamie goodyear (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jamie goodyear updated FELIX-2130:
----------------------------------

    Attachment: felix2130.txt

File: felix2130.txt

Contains fixes for the two issues outlined in this Jira entry.

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>         Attachments: felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Assigned: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Chris Custine (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chris Custine reassigned FELIX-2130:
------------------------------------

    Assignee: Chris Custine

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>            Assignee: Chris Custine
>         Attachments: felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Commented: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Guillaume Nodet (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862585#action_12862585 ] 

Guillaume Nodet commented on FELIX-2130:
----------------------------------------

Committing to https://svn.apache.org/repos/asf/felix/trunk ...
	M	karaf/main/src/main/java/org/apache/felix/karaf/main/Main.java
	M	karaf/main/src/main/java/org/apache/felix/karaf/main/OracleJDBCLock.java
Committed r939585


> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>            Assignee: Guillaume Nodet
>             Fix For: karaf 1.6.0
>
>         Attachments: felix2130.patch, felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Commented: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "javier (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12843766#action_12843766 ] 

javier commented on FELIX-2130:
-------------------------------

hi,

remove the break statement is ok, but the log will grow a lot with a DB error in the loop of the Main#lock(). it would be great a sleep or incremental sleep 

javier

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>         Attachments: felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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


[jira] Commented: (FELIX-2130) [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB

Posted by "Jamie goodyear (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862352#action_12862352 ] 

Jamie goodyear commented on FELIX-2130:
---------------------------------------

Hi,

In the event that the DB is lost already exists a "Thread.sleep(lockDelay);" within the Main#lock method -- we can extend this out to be a larger value or as you suggested make this an incremental delay. Will post back an updated patch, thanks for that catch.

Jamie

> [Karaf] Failover Clustering Mechanism - Database shutdown / loss results in all Karaf instances becoming Active on restart of that DB
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2130
>                 URL: https://issues.apache.org/jira/browse/FELIX-2130
>             Project: Felix
>          Issue Type: Bug
>          Components: Karaf
>         Environment: Oracle XE Database backend for Karaf JDBC Lock.
>            Reporter: Jamie goodyear
>            Assignee: Chris Custine
>         Attachments: felix2130.txt
>
>
> Two part issue.
> 1) Oracle isAlive() method needs to poll its connection to DB to ensure connection alive.
> 2) Main#lock() remove second break statement - in the event of DB service loss this breaks the lock out of normal spin lock routine.
> I'll be supplying a patch for this issue.

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