Synchronization of memberLeaving event across the cluster

Hi,
Let's assume that we have 2 nodes and one of them is leaving the cluster (but will continue to operate alone). Both nodes use a MemberListener to react to the memberLeaving(MemberEvent) event. Moreover, in our case as part of the leaving event logic we need to send a lot of messages from one node to the other node. That is why we need to have both nodes be part of the cluster until the leaving event is done in all nodes.
So my question is: Will be node leaving the cluster wait to actually leave the cluster once all the other nodes (and itself too) finished processing the memberLeaving event?
In case the answer is no I was thinking that the way to ensure a proper clean up would be to do all the clean up logic in the node leaving the cluster but that would imply bringing all the shared/cached data to the leaving node and that wouldn't be a scalable operation.
Ideas are welcome. :)
Thanks,
-- Gato

Hi Gato,
The memberLeaving event is an asynchronous notification raised on a node B when another node A issues a programmatic Service.shutdown() or Cluster.shutdown() call. There is no way for code running on B to block or delay the shutdown process on the node A.
If you want to "negotiate" the conditions of a clean shutdown between cluster nodes, you would need to use a "satellite" InvocationService to communicate all necessary information and actions across the cluster before initiating the shutdown sequence.
Regards,
Gene

Similar Messages

  • Will the Application Scope be shared across the cluster in a multi-node OC4

    Hi,
    I have the following requirement:
    Users of the application can only have single (browser) session. When a user who already has a session connects again, he should no longer be allowed to access the older session.
    My proposed implementation is:
    -     After successful login – possibly using a Session Listener - an entry is made in a HashMap UserSessions that lives in the application scope. Key is the username, value is the session id (HttpSession.getId()).
    -     For every request, using a ServletFilter, we check whether the session is still in the UserSessions HashMap for the current user. If a new session has been created for the same user, the session id for that new session is in the UserSessions map and the servletfilter will not find the session. In that case, the filter should invalidate the session and forward to the user to an error page.
    However, the application will run on a multi-node OC4J cluster. I am starting to wonder:
    Will the Application Scope be shared across the cluster in a multi-node OC4J environment?
    I know session state can be shared. But what application state/scope?
    Does anyone know? Do I have to do anything special in the cluster or the application to get this to work?
    Thanks for your help.
    Lucas

    gday Lucas --
    Application scope is not replicated across JVM boundaries with OC4J.
    I'm sure this used to be described in the doc, but I can't find it now from a quick scan.
    If you wanted to use this type of pattern, you could look to use a Coherence cache as distribution mechanism to share objects across multiple JVMs/nodes.
    -steve-

  • Common memory place across the cluster nodes

    Hi All,
    I am a websphere application server v6.1 user. I am running an application that uses a HashMap to store common information in the form of key value pairs. The application works fine in a single server environment but the same application fails in a cluster environment. This happens because the HashMap information will not be available for the cluster environment nodes which were running on a different JVM�s.
    Could anybody suggest a good design where in I can use a common place to store the HashMap information like queue, database or any common memory area which is available across the cluster nodes? I am not really familiar with the memory facilities offered by websphere server. (The use of a central database is the worst case I prefer as the application makes several calls to the database resulting in a deadlock and 100% CPU utilization)
    And also the values to the HashMap were added dynamically so the memory place should allow me to add my values dynamically during the runtime.
    Please suggest is there any other way or any links to refer to achieve the above situation.
    Thanks in advance
    -Sandeep
    Message was edited by:
    km-sandeep

    For a similar scenario we maintain a version flag in the DB based on which we would reload the hashmap.I'm too interested in finding out a design without DB.

  • Enabling PPR Event across the regions

    Hi All
    I dearly need all your thoughts on the following requirement.
    I have 2 items in 2 different regions referring to different CO's. For instance, first region is having a text item and the second region is having a MessageChoice item. Now if i change the value of the first item eventually the value in the second region's messageChoice item should be populated. How can i enable PPR event across 2 items referring to different COntroller files. Any input on this will help me a lot for proceeding further.
    Thanks
    Praveen

    You can use the pageContext.putSessionValue and getSessionValue to get the value.
    Yes you can change the parameter pass to a pass. In the Controller you can call the page with the help of pageContext.setForwardUrl.
    You can just check the condition like on the basic of some condition like If A then code will execute [[With 1 parameter]] else another code will execute [[with 2 parameter]]
    Thanks
    --Anil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Need to collect the Windows logon and logoff events across the Domain in a DC eviornment, for different machines and user accounts.

    Hello All,
    I am trying to build a Tool to collect the info about all the user's who login and logoff on daily basis in a domain network. I am using a windows 2008 server as a DC and have xp, win 7, win 8 , win 12 server as clients in the network.
    There are few questions in my mind which I am not able to answer.
    1> When a user tries to login to the DC network, he/ she gets authenticated using the kerberos protocol. does these authentication gets logged on the AD server by default? I have see a way to enable it from registry but even that's not giving me the expected
    output in the eventvwr.
    2> Do I have to use Audit policies to monitor all the user's log off and log on activities?
    3> Is there a way to collect these information from any place on the AD server other than the Eventvwr?
    Please help me in finding the solutions to these query's  of mine.
    Thanks.

    1. Open the Group Policy Management console on any domain controller in the target domain: navigate to Start → Administrative Tools → Group Policy Management.
    2. In the left pane, navigate to Forest: <domain_name>→ Domains → <domain_name>→ Domain Controllers. Right-click the effective domain controllers policy (by default, it is the Default Domain Controllers Policy), and select Edit from the pop-up
    menu. </domain_name></domain_name>
    <domain_name><domain_name>3. In the Group Policy Management Editor dialog, expand the Computer Configuration node on the left and navigate to Policies → Windows Settings → Security Settings → Local Policies → Audit Policy. </domain_name></domain_name>
    <domain_name><domain_name>4. Set the Audit account management and the Audit directory service access policy to "Success". Set the Audit logon events policy to  "Success" and "Failure". </domain_name></domain_name>
    5. Navigate to Start → Run and type '"cmd". Input the gpupdate /force command and press Enter. The group policy will be updated.
    Number of events could be excessive so you need to adjust size of Security log ( 1gb for example ) 
    Usage of EventCombMT Tool (part of
    MS ALtools )
     This tool gathers specific events from several different servers to one central location.
     Run the EventCombMT.exe > Right Click on Select to search field > Choose Get DCs in Domain > Mark your Domain Controllers for search
     Click the Searches menu > replace Event ID field values with
    4624  LOGON / 4634  LOGOFF
     Click Search and wait for the process to complete the operation.
     After the search is done the output directory contains the log files for the domain controllers where events with the specified Event ID’s were found.
    Alternatively you can try Netwrix Auditor for Active Directory solution with 20 days of free trial to generate such reports.
    --- Jeff (Netwrix)

  • Code synchronization across the cluster

    Do the App Servers take care of synchronizing webapp java code across multiple nodes of a cluster.
    or does synchronizing work only on a single JVM
    Thanks,
    Sunil.

    When you talk of synchronization do you mean more than one thread accessing mutable object state or synchronizing serialized session data per node such as data stored in the HTTP session?
    For the thread synchronization which is what I think you mean, a thread on machine A running on JVM 1 cannot access an object running on machine B under JVM 2 so there is no need to worry about synchronization.
    In the second instance, there is nothing concrete in the Java EE spec therefore it is up to the vendor, but typically this is handled.

  • Keeping the toplink cache insync across a cluster

    We would like to deploy our application across a cluster of 10g application servers and we are using toplink as our persistence framework using POJO's. I have been looking around and I have been unable to find anything very helpful on how to setup toplink to be able to keep the cache in sync across the cluster. Has anyone does this on 10g with POJO's? If so can you please point me to an example or a good piece of documentation?
    Thanks
    Marc

    The documentation on Cache synch can be found starting on page 8-3 on the 10g (9.0.4) release.

  • The Cluster not failover when i shutdown one managed server?

    Hello, I created one cluster whit two managed servers, and deployed an application across the cluster, but the weblogic server gave me two url and two different port for access to this application.
    http://server1:7003/App_name
    http://server1:7005/App_name
    When I shutdown immediate one managed server i lost the connection whit the application from this managed server, My question is, the failover and de load balancer not work, why??
    Why two diferent address?
    thank any help

    Well you have two different addresses (URL) because those are two physical managed servers. By creating a cluster you are not automatically going to have a virtual address (URL) that will load balance requests for that application between those two managed servers.
    If you want one URL to access this application, you will have to have some kind of web server in front of your WebLogic. You can install and configure Oracle HTTP Server to route requests to WebLogic cluster. Refer this:
    http://download.oracle.com/docs/cd/E12839_01/web.1111/e10144/intro_ohs.htm#i1008837
    And this for details on how to configure mod_wl_ohs to route requests from OHS to WLS:
    http://download.oracle.com/docs/cd/E12839_01/web.1111/e10144/under_mods.htm#BABGCGHJ
    Hope this helps.
    Thanks
    Shail

  • Managed server not able to join the cluster

    Hi
    I have two storage node enabled coherence servers on two different machines.These two are able to form the cluster without any problem. I also have two Managed servers. When I start one, will join the cluster without any issue but when I start the fourth one which does not join the cluster. Only one Managed server joins the cluster. I am getting the following error.
    2011-12-22 15:39:26.940/356.798 Oracle Coherence GE 3.6.0.4 &lt;Info> (thread=[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): Loaded cache configuration from "file:/u02/oracle/admin/atddomain/atdcluster/ATD/config/atd-client-cache-config.xml"
    2011-12-22 15:39:26.943/356.801 Oracle Coherence GE 3.6.0.4 &lt;D4> (thread=[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)', member=n/a): TCMP bound to /172.23.34.91:8190 using SystemSocketProvider
    2011-12-22 15:39:57.909/387.767 Oracle Coherence GE 3.6.0.4 &lt;Warning> (thread=Cluster, member=n/a): This Member(Id=0, Timestamp=2011-12-22 15:39:26.944, Address=172.23.34.91:8190, MachineId=39242, Location=site:dev.icd,machine:appsoad2-web2,process:24613, Role=WeblogicServer) has been attempting to join the cluster at address 231.1.1.50:7777 with TTL 4 for 30 seconds without success; this could indicate a mis-configured TTL value, or it may simply be the result of a busy cluster or active failover.
    2011-12-22 15:39:57.909/387.767 Oracle Coherence GE 3.6.0.4 &lt;Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster:
    Message "NewMemberAnnounceWait"
    FromMember=Member(Id=2, Timestamp=2011-12-22 15:22:56.607, Address=172.23.34.74:8090, MachineId=39242, Location=site:dev.icd,machine:appsoad4,process:23937,member:CoherenceServer2, Role=WeblogicWeblogicCacheServer)
    FromMessageId=0
    Internal=false
    MessagePartCount=1
    PendingCount=0
    MessageType=9
    ToPollId=0
    Poll=null
    Packets
    [000]=Broadcast{PacketType=0x0DDF00D2, ToId=0, FromId=2, Direction=Incoming, ReceivedMillis=15:39:57.909, MessageType=9, ServiceId=0, MessagePartCount=1, MessagePartIndex=0, Body=0}
    Service=ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_ANNOUNCE), Id=0, Version=3.6}
    ToMemberSet=null
    NotifySent=false
    ToMember=Member(Id=0, Timestamp=2011-12-22 15:39:26.944, Address=172.23.34.91:8190, MachineId=39242, Location=site:dev.icd,machine:appsoad2-web2,process:24613, Role=WeblogicServer)
    SeniorMember=Member(Id=1, Timestamp=2011-12-22 15:22:53.032, Address=172.23.34.73:8090, MachineId=39241, Location=site:dev.icd,machine:appsoad3,process:19339,member:CoherenceServer1, Role=WeblogicWeblogicCacheServer)
    2011-12-22 15:40:02.915/392.773 Oracle Coherence GE 3.6.0.4 &lt;Warning> (thread=Cluster, member=n/a): Received a discovery message that indicates the presence of an existing cluster:
    Message "NewMemberAnnounceWait"
    FromMember=Member(Id=2, Timestamp=2011-12-22 15:22:56.607, Address=172.23.34.74:8090, MachineId=39242, Location=site:dev.icd,machine:appsoad4,process:23937,member:CoherenceServer2, Role=WeblogicWeblogicCacheServer)
    FromMessageId=0
    Internal=false
    MessagePartCount=1
    PendingCount=0
    MessageType=9
    ToPollId=0
    Poll=null
    Packets
    {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi,
    By default Coherence uses a multicast protocol to discover other nodes when forming a cluster. Since you are having difficulties in establishing a cluster via multicast, Can you please perform a multicast test and see if multicast is configured properly.
    http://wiki.tangosol.com/display/COH32UG/Multicast+Test
    Hope you are using same configuration files across the cluster members and all members of the cluster must specify the same cluster name in order to be allowed to join the cluster.
    <cluster-name system-property="tangosol.coherence.cluster";>xxx</cluster-name>
    I would suggest, try using the unicast-listener with the well-known-addresses instead of muticast-listener.
    http://wiki.tangosol.com/display/COH32UG/well-known-addresses
    Add similar entries like below in your tangosol override xml..
    <well-known-addresses>
    <socket-address id="1">
    <address> 172.23.34.91<;/address>
    <port>8190</port>
    </socket-address>
    <socket-address id="2">
    <address> 172.23.34.74<;/address>
    <port> 8090</port>
    </socket-address>
    </well-known-addresses>
    This list is used by all other nodes to find their way into the cluster without the use of multicast, thus at least one well known node must be running for other nodes to be able to join.
    Hope this helps!!
    Thanks,
    Ashok.
    <div id="isChromeWebToolbarDiv" style="display:none"></div>

  • How is index data managed within the cluster?

    Hello
    We are in the process of evaluating Coherence.
    With regard to indexes, am I correct in thinking that the data for the index is stored in an (internally managed) cache on the same node as the attendant indexed values? I'm not interested in getting at the index data, but rather just understanding how the index data itself is treated/stored within the cluster.
    So in a 2 node cluster where an index is applied to a distributed cache that only has 2 entries, will there be an index cache on each node that has 1 {Binary,key} entry where the key points to the value that is stored on that same node? That is, I trust that the index data is spread out across the cluster in the case of a partitioned topology?
    Regards
    Peter

    user11279467 wrote:
    Hello
    We are in the process of evaluating Coherence.
    With regard to indexes, am I correct in thinking that the data for the index is stored in an (internally managed) cache on the same node as the attendant indexed values? I'm not interested in getting at the index data, but rather just understanding how the index data itself is treated/stored within the cluster.
    So in a 2 node cluster where an index is applied to a distributed cache that only has 2 entries, will there be an index cache on each node that has 1 {Binary,key} entry where the key points to the value that is stored on that same node? That is, I trust that the index data is spread out across the cluster in the case of a partitioned topology?
    Regards
    PeterHi Peter,
    up to 3.4.x indexes were supported only on partitioned topology, and yes, indexes on each node contain only data corresponding to entries which have their primary copy on that node (referred to as local entries from now on).
    The indexes are not stored in a cache but they are managed as part of the information Coherence maintains about the backing map (the map which contains local entries).
    The indexes are made of 2 parts:
    - forward index: this is a mapping from the cache key in an internal representation (backing map keys from now on) to the value extracted with the extractor used to create the index from the entry belonging to the cache key (extracted value from now on)
    - reverse index (aka. reverse map): this is a mapping from the extracted value to a set of backing map keys of entries from which the reverse index key was extracted with the extractor used to create the index
    The index can be sorted which means that the reverse index will be a SortedMap (so sorting order is the ordering of extracted values)
    Let's see an example. Assuming you have the following cache content within a particular storage-enabled node :
    A --> Object (getX=5 ,...)
    B --> Object (getA=3 ,...)
    C --> Object (getA=3 ,...)
    D --> Object (getA=4 ,...)
    The forward index in that node will contain:
    Binary(A) --> 5
    Binary(B) --> 3
    Binary(C) --> 3
    Binary(D) --> 4
    The reverse index will contain:
    3 --> { Binary(B), Binary(C) }
    4 --> { Binary(D) }
    5 --> { Binary(A) }
    Where Binary(...) means the internal (binary) representation of the ... object.
    If the index is not ordered, then the order of iteration on entries in the reverse index are not deterministic.
    If the index is ordered, then the iteration of entries in the reverse index will be as shown above. Also, you can cast the reverse index to SortedMap so you have the very useful headMap and tailMap and firstKey and lastKey methods.
    Hope this helps.
    Best regards,
    Robert

  • What organizer app has a really good WEEK VIEW like my Palm Pilot - it's a grid with days across the top.  Below each day- the day is divided into hourly grids.  When events are schdeuled across  week - you get a mosaic of time blocks.  Analogue - great

    What organizer app has a really good WEEK VIEW like my Palm Pilot - it's a grid with days across the top.  Below each day- the day
    is divided into hourly grids.  When events are schdeuled across  week - you get a mosaic of time blocks.  Analogue view is  great way
    to comprehend the time obligations as a molar pattern.
    thx,
    Fritz

    I use Week Cal on the iPod.  I think it was only $1.99.  It is a lot better and does a lot more than the one that came with the Palm Pilot.
    As you know, unlike the Palm Pilot, the iPod does not come with a desktop application that you can sync your iPod calendar to.  Since I don't use Outlook, I have to use a Cloud based calendar to sync with my PC.  I use Hotmail's calendar for that.  (If your computer is a MAC, you can use iCal)

  • How can I synchronize my iPhoto events? my iTunes doesn't read them and with the app Images in the iPad I can only find Photos, Albums, Faces and Places, not Events.

    How can I synchronize my iPhoto events? my iTunes doesn't read them and with the app Images in the iPad I can only find Photos, Albums, Faces and Places, not Events.

    I had a problem a couple of months ago when iPhotos suddenly rearranged the order of my Events (Why won't iPhoto let me arrange my photos?) .  I was told "Use albums not events - events are not a good way to organize - albums and folder are designed for organisation and are very flexible".
    Haha!  I should have paid attention and read between the lines!  My iPhotos were highly organised groupings - not according to date but the way I wanted them - and it was so easy to do!  I see now that if I had them all in albums, as per the Apple Apologist suggestion, I wouldn't have this unholy mess I have been left with just to make iPhone & iCloud users happy.  I am now going through Photos and making Albums (of what used to be in my Events)  ... maybe I'll get this finished before they do another non user friendly update!

  • Windows could not start the Cluster Service on Local computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code 2.

    Dear Technet,
    Windows could not start the Cluster Service on Local computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code 2.
    My cluster suddenly went disappear. and tried to restart the cluster service. When trying to restart service this above mention error comes up.
    even i tried to remove the cluster through power-shell still couldn't happen because of cluster service not running.
    Help me please.. thank you.
    Regards
    Shamil

    Hi,
    Could you confirm which account when you start the cluster service? The Cluster service is a service that requires a domain user account.
    The server cluster Setup program changes the local security policy for this account by granting a set of user rights to the account. Additionally, this account is made a member
    of the local Administrators group.
    If one or more of these user rights are missing, the Cluster service may stop immediately during startup or later, depending on when the Cluster service requires the particular
    user right.
    Hope this helps.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • HttpSession across application in the cluster

    I have two question:
              Can I deploy two webapplication in the cluster, one that is clustered and
              the second one no clustered?
              Assuming I can do this, can I keep a HttpSession across these two
              applications?
              Christian Corcino
              

    Sharing a session across webapp's is prohibited by the servlet spec. You
              could store it in a db and have the other web app access it.
              Christian Corcino wrote:
              > I have two question:
              > Can I deploy two webapplication in the cluster, one that is clustered and
              > the second one no clustered?
              > Assuming I can do this, can I keep a HttpSession across these two
              > applications?
              >
              > Christian Corcino
              Rajesh Mirchandani
              Developer Relations Engineer
              BEA Support
              

  • How to create a cluster, whose elements are all scattered across the front panel?

    Hi everyone!
    I've been designing a front panel, which (I think :-)) feels pretty well when the override switches are scattered all over the screen. Anyway I'd like to process their states in a cluster. I tried pulling them in a cluster in the block diagram, which didn't do anything (actually they hid underneath the cluster). I tried bundling them, but the only way I could do so was after creating a hidden cluster on the front panel and filling it with the same number of boolean controls as I've got override switches.
    Anybody got any suggestions?
    Kindest regards,
    Severin

    Severin,
    You should be able to bundle the elements without creating a dummy cluster. You cannot use Bundle by Name without a control (or indicator), however.
    One possibility, if you need a cluster, is to make a cluster which is bigger than your front panel. Make the background transparent or the same color as the panel. The problem with this is how you handle other controls or indicators which are not part of the cluster. You could put them behnid the transparent cluster, but then you cannot operate the controls and panel updates are slowed considerably by overlapping front panel objects. You may be able to slide them in front of the cluster without embedding them into the cluster by placing them on the panel outside the cluster and using the keyboard arrows to move them. This works for some things; I have not tried it with clusters. You still have overlapping objects.
    Lynn

Maybe you are looking for