[Openais] LCR take 5 - components dynamically loading now

Steven Dake sdake at mvista.com
Wed Jan 18 12:36:07 PST 2006


Mark

You are right, it is incompatible.  0.70 was never intended to be
upgradeable to 1.0.  The general idea is that 1.0 can be upgraded to
later versions including 2.0.  With this new infrastructure that should
be possible with careful work from us.

The reason it isn't possible is because we have the one "big array" of
exec handlers.  That had to be broken into individual arrays or dynamic
loading could become messy.

What we cannot do is break compatibility between 0.70 and 0.70.X.

Thanks
-ateve

Regards
-steve

On Wed, 2006-01-18 at 10:23 -0800, Mark Haverkamp wrote:
> On Tue, 2006-01-17 at 15:51 -0700, Steven Dake wrote:
> > With this version, components are dynamically loading and all appears to
> > work with the limited testing I have done.  I'm going to merge this by
> > Friday and make a release to get it into the hands of testeres.
> 
> 
> Steve,
> 
> Is this intended to be compatible with the existing aisexec?  I tried to
> start a newly compiled aisexec with my other three nodes running the
> latest checked in code and the new node starting up gets a segfault.  I
> don't know if it is possible, but we should support upgrading to a new
> aisexec without having to bring the whole cluster down so that we can
> incrementally upgrade the cluster.
> 
> (gdb) r
> Starting program: /home/localmarkh/views/svn/openais_lcr/exec/aisexec
> [Thread debugging using libthread_db enabled]
> [New Thread -151132480 (LWP 13884)]
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] AIS Executive Service: Copyright (C) 2002-2004 MontaVista Software, Inc. and contributors.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Token Timeout (1000 ms) retransmit timeout (238 ms)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] token hold (180 ms) retransmits before loss (4 retrans)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] join (100 ms) consensus (200 ms) merge (200 ms)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] downcheck (1000 ms) fail to recv const (10 msgs)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] seqno unchanged const (30 rotations) Maximum network MTU 1500
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] send threads (0 threads)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] heartbeat_failures_allowed (0)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] max_network_delay (50 ms)
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] HeartBeat is Disabled. To enable set heartbeat_failures_allowed > 0
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Multicast socket send buffer size (262142 bytes).
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Multicast socket send buffer size (262142 bytes).
> Jan 18 10:12:20 [NOTICE  ] [TOTEM]  The network interface [192.168.1.8] is now up.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Created or loaded sequence id 41264.192.168.1.8 for this ring.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] entering GATHER state.
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais extended virtual synchrony service'
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais cluster membership service B.01.01'
> setting B to 801a8c0
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais availability management framework B.01.01'
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais checkpoint service B.01.01'
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais event service B.01.01'
> Jan 18 10:12:20 [NOTICE  ] [EVT  ] event delivery_queue_size set to 5000
> Jan 18 10:12:20 [NOTICE  ] [EVT  ] event delivery_queue_resume set to 4000
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais distributed locking service B.01.01'
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] Registering service handler 'openais configuration service'
> Jan 18 10:12:20 [NOTICE  ] [MAIN ] AIS Executive Service: started and ready to receive connections.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] entering GATHER state.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] entering GATHER state.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Creating commit token because I am the rep.
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Saving state aru 0 high seq received 0
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] Storing new sequence id for ring 41272
> Jan 18 10:12:20 [NOTICE  ] [TOTEM] entering COMMIT state.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] The token was lost in state 3 from timer 8bcee80
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] entering GATHER state.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] Creating commit token because I am the rep.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] Storing new sequence id for ring 41276
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] entering COMMIT state.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] position [0] member 192.168.1.8:
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] previous ring seq 41264 rep 192.168.1.8
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] aru 0 high delivered 0 received flag 1
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] position [1] member 192.168.1.17:
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] previous ring seq 41272 rep 192.168.1.17
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] aru 295 high delivered 295 received flag 1
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] position [2] member 192.168.1.18:
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] previous ring seq 41272 rep 192.168.1.17
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] aru 298 high delivered 295 received flag 1
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] position [3] member 192.168.1.19:
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] previous ring seq 41272 rep 192.168.1.17
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] aru 298 high delivered 295 received flag 1
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] copying all old ring messages from 1-0.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] Originated 0 messages in RECOVERY.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] Originated for recovery:
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] Not Originated for recovery:
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] Sending initial ORF token
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] -not adding msg with seq no 296
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] -not adding msg with seq no 297
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] -not adding msg with seq no 298
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] -not adding msg with seq no 296
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] -not adding msg with seq no 297
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] -not adding msg with seq no 298
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] CLM CONFIGURATION CHANGE
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] New Configuration:
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] Members Left:
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] Members Joined:
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] CLM CONFIGURATION CHANGE
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] New Configuration:
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.8
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.17
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.18
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.19
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] Members Left:
> Jan 18 10:12:21 [NOTICE  ] [CLM  ] Members Joined:
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.8
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.17
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.18
> Jan 18 10:12:21 [NOTICE  ] [CLM  ]      192.168.1.19
> Jan 18 10:12:21 [NOTICE  ] [SYNC ] This node is within the non-primary component and will NOT provide any services.
> Jan 18 10:12:21 [NOTICE  ] [TOTEM] entering OPERATIONAL state.
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -151132480 (LWP 13884)]
> 0x00000000 in ?? ()
> (gdb) bt
> #0  0x00000000 in ?? ()
> #1  0x0804cfab in deliver_fn (source_addr=0x8c0656e, iovec=0xfef61130,
>     iov_len=1, endian_conversion_required=0) at main.c:921
> #2  0x0805318f in app_deliver_fn (source_addr=0x8c0656e, iovec=0x834d474,
>     iov_len=1, endian_conversion_required=0) at totempg.c:306
> #3  0x08052faf in totempg_deliver_fn (source_addr=0x8c0656e, iovec=0x8bdc94c,
>     iov_len=1, endian_conversion_required=0) at totempg.c:510
> #4  0x0805ddd9 in totemmrp_deliver_fn (source_addr=0x8c0656e, iovec=0x8bdc94c,
>     iov_len=1, endian_conversion_required=0) at totemmrp.c:84
> #5  0x0805ba49 in messages_deliver_to_app (instance=0x8bcee80, skip=0,
>     end_point=37) at totemsrp.c:3067
> #6  0x0805be62 in message_handler_mcast (instance=0x8bcee80,
>     system_from=0xfef636f2, msg=0x8be9ed0, msg_len=1436,
>     endian_conversion_needed=0) at totemsrp.c:3207
> #7  0x0805dc86 in main_deliver_fn (context=0x8bcee80, system_from=0xfef636f2,
>     msg=0x8be9ed0, msg_len=1436) at totemsrp.c:3610
> #8  0x0805e38b in active_mcast_recv (instance=0x8bce368, context=0x8bcee80,
>     system_from=0xfef636f2, msg=0x8be9ed0, msg_len=1436) at totemrrp.c:396
> #9  0x0805e73d in rrp_deliver_fn (context=0x8bce430, system_from=0xfef636f2,
>     msg=0x8be9ed0, msg_len=1436) at totemrrp.c:552
> #10 0x0805fe57 in net_deliver_fn (handle=0, fd=10, revents=1, data=0x8be9880,
>     prio=0x8bf2778) at totemnet.c:692
> #11 0x08051d48 in poll_run (handle=0) at aispoll.c:424
> #12 0x0804d7a3 in main (argc=1, argv=0xfef63a04) at main.c:1276
> 
> 




More information about the Openais mailing list