From 460016428cf27484c333227f534c2e2f73a37fb1 Mon Sep 17 00:00:00 2001 From: Milind Changire Date: Sat, 15 Oct 2016 10:49:19 +0530 Subject: cluster/tier: handle fast demotions Demote files on priority if hi-watermark has been breached and continue to demote until the watermark drops below hi-watermark. Monitor watermark more frequently. Trigger demotion as soon as hi-watermark is breached. Add cluster.tier-emergency-demote-query-limit option to limit number of files returned from the database query for every iteration of tier_migrate_using_query_file(). If watermark hasn't dropped below hi-watermark during the first iteration, the next iteration will be triggered approximately 1 second after tier_demote() returns to the main tiering loop. Update changetimerecorder xlator to handle query for emergency demote mode. Add tier-ctr-interface.h: Move tier and ctr interface specific macros and struct definition from libglusterfs/src/gfdb/gfdb_data_store.h to new header libglusterfs/src/tier-ctr-interface.h Change-Id: If56af78c6c81d37529b9b6e65ae606ba5c99a811 BUG: 1366648 Signed-off-by: Milind Changire Reviewed-on: http://review.gluster.org/15158 Smoke: Gluster Build System CentOS-regression: Gluster Build System NetBSD-regression: NetBSD Build System Reviewed-by: Dan Lambright --- libglusterfs/src/gfdb/gfdb_sqlite3.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libglusterfs/src/gfdb/gfdb_sqlite3.h') diff --git a/libglusterfs/src/gfdb/gfdb_sqlite3.h b/libglusterfs/src/gfdb/gfdb_sqlite3.h index 52b84da251c..5b55b0ace5e 100644 --- a/libglusterfs/src/gfdb/gfdb_sqlite3.h +++ b/libglusterfs/src/gfdb/gfdb_sqlite3.h @@ -258,7 +258,8 @@ int gf_sqlite3_delete (void *db_conn, gfdb_db_record_t *); /*querying modules*/ int gf_sqlite3_find_all (void *db_conn, gf_query_callback_t, - void *_query_cbk_args); + void *_query_cbk_args, + int query_limit); int gf_sqlite3_find_unchanged_for_time (void *db_conn, gf_query_callback_t query_callback, void *_query_cbk_args, -- cgit