1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
Commit Graph

182 Commits

Author SHA1 Message Date
Andrew Tridgell
34bf25e227 - fix includes to work in both samba4 and ctdb standalone
- when we do a store_unlock the lock record becomes unlocked, so we
  must destroy it (or we leak memory)

(This used to be ctdb commit d85955640e670dd580073da96b25fb8a10c08d18)
2007-04-16 10:21:44 +10:00
Andrew Tridgell
5f592876d1 added --dblist option to ctdbd, to allow list of databases to be specified on the command line
(This used to be ctdb commit a19df59e9c2ea24d92a483f8a44514f492d49601)
2007-04-16 09:29:10 +10:00
Ronnie sahlberg
18595074d3 add code to fetch1 test to tell the two child processes one at a time to fetch_lock the same record
they both successfully fetch and lock the same record at this stage  but when the actual locking works properly  the second child will block.

this test allows us to verify the blocking once we have implemented it

(This used to be ctdb commit b1c0baa03a669757aaacb6e1a2794224f5ba2cd7)
2007-04-16 08:37:27 +10:00
Ronnie sahlberg
01c12982a6 add examples for volker on how to do fetchlock/storeunlock
note that the actual locking/unl;ocking does not still work

(This used to be ctdb commit 45505520a69a2fbbb1e3a015b54d2133924f46a4)
2007-04-15 14:39:23 +10:00
Ronnie sahlberg
fc866963fa update to fetch1.sh test
there is still a bug in the ctdb code in that the children no longer receive messages from the parent for unknown reasons

(This used to be ctdb commit 468f68e4607900c5c38aea428a48dd6ea1647411)
2007-04-15 14:02:39 +10:00
Ronnie sahlberg
9f7d98380b merge from tridge
(This used to be ctdb commit 9c4e5569b82d9c7894e3ac1d5f0783c4d770daf4)
2007-04-13 21:10:20 +10:00
Andrew Tridgell
65cdf2297a private -> private_data for samba3
(This used to be ctdb commit 080b6901173afb2ad618dd0621876ff478c7d6e5)
2007-04-13 20:38:24 +10:00
Ronnie sahlberg
332f5ad063 add missing code to store_unlock so that the data that a client writes is stored in ltdb
this makes it possible to do fetch_lock and store_unlock across a domain socket to read/write data.


note that the actual locking is NOT implemented yet

(This used to be ctdb commit c7a397c56caf71283c081e5b97620085ed5108c6)
2007-04-13 20:37:41 +10:00
Ronnie sahlberg
673b879a3f add more elaborate test to fetch1 test
for now:
fetch a record
store a known entry for this record
fetch the record again  (and later verify we got the same record)
store it back again

this will not work right now since we dont yet store the record inside the daemon

(This used to be ctdb commit f502094499a3c25ab58aa3d192588b5e6dd2b8e4)
2007-04-13 09:44:56 +10:00
Ronnie sahlberg
03c49c0526 add store_unlock pdu's for the domain socket.
note that the store_unlock does not actually do anything yet apart from passing the pdu from client to daemon   and daemon responds.

next is to make sure the daemon actually stores the data in a database

(This used to be ctdb commit 167d6993e78f6a1d0f6607ef66925a14993ae6a1)
2007-04-13 09:41:15 +10:00
Ronnie sahlberg
ba162178b9 add the two missing file from the previous commit
(This used to be ctdb commit 3753b64e4e64446dc1f20ec92b45ba11bc0e0be5)
2007-04-12 21:19:00 +10:00
Ronnie sahlberg
91b7cc8b27 add a beginning of a new test
right now this test only does one fetch lock   but this will be enhanced as more code is added to ctdb to handle fetch_lock and store_unlock

(This used to be ctdb commit 996f117d9181dee22aea979ce04333035f5522c7)
2007-04-12 21:17:10 +10:00
Ronnie sahlberg
3aeac33da2 when sending back a fetch lock reply to a client
we cant peek in state->c since this is uninitialized 
and even if it were not it would be wrong

create a new structure to pass BOTH client and also the reqid to respond back to
the client with

(This used to be ctdb commit e1a0da3dfbb4a927e8d98723b5e51a201c2a3428)
2007-04-12 21:14:41 +10:00
Ronnie sahlberg
1116851c19 dont hardcode gdb in the test script. ooops
(This used to be ctdb commit e193d69cd8cdd293379ab88d25e6984b584afa22)
2007-04-12 16:49:37 +10:00
Ronnie sahlberg
35ffefb01f initial support for two new pdus for the domain socket to do fetch_lock
no locking is yet done and the store_unlock call is still missing


the ./tests/fetch.sh --daemon  test fails with parent process dying which needs to be investigated.

(This used to be ctdb commit 7d7141c968950a8856f1be79871932b688bfb07f)
2007-04-12 15:46:50 +10:00
Andrew Tridgell
6402915bb6 merge from vl
(This used to be ctdb commit 8b5233fbe773893d1bc6b377f8956fe0b3e503ab)
2007-04-12 10:51:55 +10:00
Ronnie sahlberg
51c660d1a1 add an example on how to read a message from the domain socket
(This used to be ctdb commit 9723828b1562eb6a386eb26e63db3b6617ebb454)
2007-04-12 09:09:27 +10:00
Ronnie sahlberg
e18ed8cc84 do an infinite loop calling event_loop_once() in the ctdbd parent process instead of event_loop_wait() since the latter will return and thus take down the daemon
(This used to be ctdb commit 26ffd166c176deb7e2437f3ee87887f8b57435e7)
2007-04-12 08:44:15 +10:00
Ronnie sahlberg
5370e677ec add a test message to the messaging test so we can see that the message data is also passed from originator to receiver
(This used to be ctdb commit f9c2ed3cff8eb481bfa80d944d86233e2a7d5d00)
2007-04-12 08:28:54 +10:00
Volker Lendecke
d8dd8fbe49 Rename "private" to "private_data"
(This used to be ctdb commit 78cf4443ac0c66fb750ef6919bcdec189ac219c9)
2007-04-11 20:12:15 +02:00
Volker Lendecke
a5d1b2ce48 Merge tridge's tree
(This used to be ctdb commit 63a59a700a1fb4c23cd76d99c5b4c9660c7ca475)
2007-04-11 16:52:06 +02:00
Volker Lendecke
6961f32eb7 Add a test to read back the message
Volker

(This used to be ctdb commit b7f134fe6e160d7ec70c466f8f3e7fb3dabd0774)
2007-04-11 16:51:25 +02:00
Andrew Tridgell
230c1a75d1 use event_loop_wait instead of while(1)
(This used to be ctdb commit e49a6436483bffcf867fbb746ef43a5356055857)
2007-04-11 22:21:43 +10:00
Andrew Tridgell
2aa26b0ae7 use lib/replace for signal.h
(This used to be ctdb commit 4c660b9706ef09527b8e1a2837d844d30672c541)
2007-04-11 22:19:46 +10:00
Volker Lendecke
6f2b236909 Handle a client that exited correctly: We need to ignore SIGPIPE and when the
read returns 0 bytes this means the client has exited. Close the connection
then.

(This used to be ctdb commit bd10f4e62146493848258df8a3dc3b9222337a12)
2007-04-11 13:17:36 +02:00
Volker Lendecke
f2d13d0ea9 Fix uninitialized variable warnings
(This used to be ctdb commit b84f97adfd25b2fbfab1c7964b68931643e8029c)
2007-04-11 12:49:10 +02:00
Ronnie sahlberg
6e2463e5c7 add an example on how to send a message to the daemon
(send a message to ourself)

this unfortunately terminates the ctdb daemon when running   but im too tired right now to debug it.
checkin so that nothing gets lost overnight.

(This used to be ctdb commit 9d8821bfd1456591fb5c31f0c6c3fd63e99dc4fb)
2007-04-11 20:32:24 +10:00
Ronnie sahlberg
fbb1d9e50d add call/reply parsing of the cluster connect-wait call to the test daemon.
(This used to be ctdb commit c54c87feb89b8d97655c1fcd748a295119a1171f)
2007-04-11 19:27:19 +10:00
Ronnie sahlberg
153bf81026 add a vnn field to the ctdb_reply_connect_wait pdu so that we can tell
non-ctdb-linked clients what the vnn of the local cluster daemon is

(This used to be ctdb commit 57fd1aa54b234545e1e465b5ace2ce93fcfbc22a)
2007-04-11 19:04:09 +10:00
Ronnie sahlberg
4b6fbe7be1 create a standalone ctdb daemon and a script ./direct/ctdbd.sh to start two such daemons in a 2 node cluster.
create a small test application that connects to the ctdb daemon at /tmp/ctdb.socket.127.0.0.1 and do some commands to the daemon.
currently this test tool only opens the socket and registers its pid with the daemon
(the daemon needs to know the pid so that it can forward messages to the correct client)

the test will be extended with additional ctdb commands

(This used to be ctdb commit 801f6127cdd50c5b2d0e64dd8db08500af9dadc9)
2007-04-11 18:54:22 +10:00
Andrew Tridgell
a91412cb04 added --num-clients option to ctdb_messaging test
(This used to be ctdb commit 2f4e7e34071c8950f6c4d64469c5eb15d0888113)
2007-04-11 15:23:50 +10:00
Andrew Tridgell
06e4f9b968 use the new connect_wait code in the ctdb_messaging test
(This used to be ctdb commit 36980878141c5e506dd7ee021fba6ca7d0ff5ad3)
2007-04-11 15:09:22 +10:00
Andrew Tridgell
8386b0e345 add proper support for ctdb_connect_wait in daemon mode
(This used to be ctdb commit 8d110df5939b3e6a6341909956453887f4eb6b0d)
2007-04-11 14:54:47 +10:00
Andrew Tridgell
d5584e5611 fixed sending messages to ourselves in non-daemon mode
(This used to be ctdb commit 325afd2de2f5a96fb4f8ec624e04f253c712c97d)
2007-04-11 14:26:14 +10:00
Andrew Tridgell
c658d5c1e8 merge from ronnie, plus complete the client side of inter-node messaging
(This used to be ctdb commit e605417436855d22343462acae4cbb79a374977e)
2007-04-11 14:05:01 +10:00
Ronnie sahlberg
185cd326da add a test that sends messages between clients connected to the same ctdb
add code to actually pass the messages between clients and ctdb

(This used to be ctdb commit 6d5b55d7b9c611fb5e98765906757a7d82e4bf6b)
2007-04-11 13:43:15 +10:00
Andrew Tridgell
ad1f17ab1c partially completed work towards full messaging system which will work in both daemon and standalone mode. Does not compile\! committing so ronnie can continue while I'm out
(This used to be ctdb commit 1b5e65a700e2bd0a5c913d7866024b25600a14c9)
2007-04-11 11:58:28 +10:00
Ronnie sahlberg
7821b985a5 merge from tridge
(This used to be ctdb commit a027d468f39fdd95a4bd03e26da90eb229b2a645)
2007-04-11 11:08:20 +10:00
Andrew Tridgell
2daf1d3006 forgot to add ctdb_client.c
(This used to be ctdb commit 136f912562ef00ede5589a7aa080503538d14bc3)
2007-04-11 11:02:26 +10:00
Andrew Tridgell
110fe0c5a5 - add --daemon flag to ctdb_fetch test code
- split client specific routines out of ctdb_daemon.c
 - use ctdb_queue code in message send from client to daemon
 - use clearer names in client/daemon functions
 - use talloc autofree context to avoid global for unlink of socket on
   exit
 - start on API change for message handler, to allow ctdb messaging to
   handle daemon mode with multiple clients

(This used to be ctdb commit 53555db45f3583ae4a32cc3aa9e07fb8ef2a77e3)
2007-04-11 11:01:42 +10:00
Ronnie sahlberg
2a0d8c9f0d rename client.id to client.messenger_id to make the purpose of the field more obvious
(This used to be ctdb commit 350f14909d5dba6cd9d76d221e263933926cea6c)
2007-04-10 21:14:55 +10:00
Ronnie sahlberg
5cf568c3ca add a call to register the pid for a messengin service
store this pid inside the client structure in the ctdb daemon

(This used to be ctdb commit d4499c5e0403b0348fa36b259164b1cbfcd671b8)
2007-04-10 21:05:29 +10:00
Andrew Tridgell
902967249c fix the queueing for partially connected tcp sockets
(This used to be ctdb commit 55f1c2442a53a547302669a4fdd0f1c1deeed930)
2007-04-10 20:48:31 +10:00
Andrew Tridgell
5861917468 make some functions static, and remove an unused structure
(This used to be ctdb commit 8d09cac96b2c604a68e4903346cc9db3a66d80da)
2007-04-10 19:40:29 +10:00
Andrew Tridgell
82e4ccbf3e merge from ronnie
(This used to be ctdb commit 886a3e9122168ececc257aa1bef2f5de2f2d8d7e)
2007-04-10 19:35:21 +10:00
Andrew Tridgell
f1e0174e83 made all sockets handle partial IO
abstract IO via ctdb_queue_*() functions

(This used to be ctdb commit 636ae76f4632b29231db87be32c9114f58b37840)
2007-04-10 19:33:21 +10:00
Ronnie sahlberg
9ba0f9db6f remove old ifdef that remained from when this was a header file
(This used to be ctdb commit 050f302103b32ea3895fc97dae7726f11fbf01e3)
2007-04-10 14:53:23 +10:00
Andrew Tridgell
82b712d80f merge tcp changes from ronnie
(This used to be ctdb commit 18d6e58b92f59f18cd7772cdbc1b8812a8609ab4)
2007-04-10 14:48:13 +10:00
Andrew Tridgell
4f0ea10fb3 added daemon mode to ctdb_bench
(This used to be ctdb commit b1e71018866752d32f59170fd5c8ba01b05694d9)
2007-04-10 14:46:32 +10:00
Ronnie sahlberg
f2e2d1c2f3 change the tcp code to call ctdb_read_pdu() instead of doing the partial read thing explicitely
(This used to be ctdb commit 6156bec0187df27578afd5afa3fcaadb1a202030)
2007-04-10 13:17:15 +10:00