diff options
author | Amitay Isaacs <amitay@gmail.com> | 2013-08-19 15:04:46 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@gmail.com> | 2013-08-22 14:08:52 +1000 |
commit | 1467b666f219586a0612bd32804b0dff7a84082c (patch) | |
tree | 42ac00641d99aaa43d14df241f3a1f0273eb55d2 /ctdb/client | |
parent | 59dae19f5a8e5cd8a62dfccdd1cfec62e9842977 (diff) | |
download | samba-1467b666f219586a0612bd32804b0dff7a84082c.tar.gz samba-1467b666f219586a0612bd32804b0dff7a84082c.tar.xz samba-1467b666f219586a0612bd32804b0dff7a84082c.zip |
Revert "LACOUNT: Add back lacount mechanism to defer migrating a fetched/read copy until after default of 20 consecutive requests from the same node"
This reverts commit 035c0d981bde8c0eee8b3f24ba8e2dc817e5b504.
This is a premature optimization. Record can bounce between nodes
very quickly if it is a contended record. There is no need to hold a
record on a node unnecessarily. In case record contention becomes bad,
enabling sticky records on a database is a better idea.
Conflicts:
include/ctdb_private.h
server/ctdb_tunables.c
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit ac417b0003f0116f116834ad2ac51482d25cfa0d)
Diffstat (limited to 'ctdb/client')
-rw-r--r-- | ctdb/client/ctdb_client.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c index 764404edfdd..8bab9bba867 100644 --- a/ctdb/client/ctdb_client.c +++ b/ctdb/client/ctdb_client.c @@ -70,7 +70,7 @@ struct ctdb_req_header *_ctdbd_allocate_pkt(struct ctdb_context *ctdb, */ int ctdb_call_local(struct ctdb_db_context *ctdb_db, struct ctdb_call *call, struct ctdb_ltdb_header *header, TALLOC_CTX *mem_ctx, - TDB_DATA *data, bool updatetdb, uint32_t caller) + TDB_DATA *data, bool updatetdb) { struct ctdb_call_info *c; struct ctdb_registered_call *fn; @@ -105,15 +105,7 @@ int ctdb_call_local(struct ctdb_db_context *ctdb_db, struct ctdb_call *call, } /* we need to force the record to be written out if this was a remote access */ - if (header->laccessor != caller) { - header->lacount = 0; - } - header->laccessor = caller; - header->lacount++; - - /* we need to force the record to be written out if this was a remote access, - so that the lacount is updated */ - if (c->new_data == NULL && header->laccessor != ctdb->pnn) { + if (c->new_data == NULL) { c->new_data = &c->record_data; } @@ -368,7 +360,7 @@ static struct ctdb_client_call_state *ctdb_client_call_local_send(struct ctdb_db *(state->call) = *call; state->ctdb_db = ctdb_db; - ret = ctdb_call_local(ctdb_db, state->call, header, state, data, true, ctdb->pnn); + ret = ctdb_call_local(ctdb_db, state->call, header, state, data, true); if (ret != 0) { DEBUG(DEBUG_DEBUG,("ctdb_call_local() failed, ignoring return code %d\n", ret)); } |