Skip to content

Commit 0fd49be

Browse files
committed
Remove low headroom logic in log delete function
Signed-off-by: Morgan Douglas <mdouglas47@bloomberg.net>
1 parent 615253f commit 0fd49be

File tree

3 files changed

+11
-68
lines changed

3 files changed

+11
-68
lines changed

bdb/bdb_api.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1350,8 +1350,6 @@ int bdb_fetch_last_key_tran(bdb_state_type *bdb_state, tran_type *tran,
13501350
int bdb_rowlock(bdb_state_type *bdb_state, tran_type *tran,
13511351
unsigned long long genid, int exclusive, int *bdberr);
13521352

1353-
int bdb_get_low_headroom_count(bdb_state_type *bdb_state);
1354-
13551353
enum { BDB_LOCK_READ, BDB_LOCK_WRITE };
13561354

13571355
int bdb_get_locker(bdb_state_type *bdb_state, unsigned int *lid);

bdb/file.c

Lines changed: 11 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3551,7 +3551,6 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
35513551
char **file;
35523552
struct stat logfile_stats;
35533553
char logname[1024];
3554-
int low_headroom_count = 0;
35553554
int lowfilenum; /* the lowest log file across the cluster */
35563555
int local_lowfilenum = INT_MAX; /* the lowest log file of this node */
35573556
int lwm_lowfilenum = -1;
@@ -3564,7 +3563,6 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
35643563
int lognum;
35653564
DB_LSN snapylsn = {0};
35663565
DB_LSN recovery_lsn;
3567-
int is_low_headroom = 0;
35683566
int send_filenum = 0;
35693567
int filenum;
35703568
int delete_adjacent;
@@ -3583,10 +3581,10 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
35833581

35843582
/* dont delete log files during backups or hot copies */
35853583
time_t now = time(NULL);
3586-
if (((bdb_state->attr->logdeleteage == LOGDELETEAGE_NEVER) ||
3587-
(bdb_state->attr->logdeleteage > now)) &&
3588-
!has_low_headroom(bdb_state->txndir,bdb_state->attr->lowdiskthreshold, 0))
3584+
if ((bdb_state->attr->logdeleteage == LOGDELETEAGE_NEVER) ||
3585+
(bdb_state->attr->logdeleteage > now)) {
35893586
return;
3587+
}
35903588

35913589
/* get the lowest filenum of anyone in our sanc list. we cant delete
35923590
log files greater than that filenum */
@@ -3705,15 +3703,6 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
37053703
}
37063704
}
37073705

3708-
low_headroom:
3709-
if (bdb_state->attr->log_delete_low_headroom_breaktime &&
3710-
low_headroom_count >
3711-
bdb_state->attr->log_delete_low_headroom_breaktime) {
3712-
logmsg(LOGMSG_WARN, "low_headroom, but tried %d times and giving up\n",
3713-
bdb_state->attr->log_delete_low_headroom_breaktime);
3714-
return;
3715-
}
3716-
37173706
delete_adjacent = 1;
37183707
/* ask berk for a list of files that it thinks we can delete */
37193708
rc = bdb_state->dbenv->log_archive(bdb_state->dbenv, &list, 0);
@@ -3770,8 +3759,6 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
37703759
ctrace("Snapylsn is %d:%d\n", snapylsn.file, snapylsn.offset);
37713760
}
37723761

3773-
is_low_headroom = 0;
3774-
37753762
for (file = list, lognum = 0; *file != NULL && lognum < numlogs;
37763763
++file, ++lognum) {
37773764
logname[0] = '\0';
@@ -3937,18 +3924,11 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
39373924
__txn_commit_map_delete_logfile_txns(bdb_state->dbenv, filenum);
39383925
}
39393926

3940-
if ((filenum <= lowfilenum && delete_adjacent) || is_low_headroom) {
3927+
if (filenum <= lowfilenum && delete_adjacent) {
39413928
/* delete this file if we got this far AND it's <= the
39423929
* replicated low number */
3943-
if (is_low_headroom) {
3944-
logmsg(LOGMSG_WARN, "LOW HEADROOM : delete_log_files: deleting "
3945-
"logfile: %s\n",
3946-
logname);
3947-
}
3948-
3949-
print(bdb_state, "%sdelete_log_files: deleting logfile: %s "
3950-
"filenum %d lowfilenum was %d\n",
3951-
(is_low_headroom) ? "LOW HEADROOM : " : "", logname,
3930+
print(bdb_state, "delete_log_files: deleting logfile: %s "
3931+
"filenum %d lowfilenum was %d\n",logname,
39523932
filenum, lowfilenum);
39533933
print(bdb_state, "filenums: %s\n", filenums_str);
39543934
if (gbl_rowlocks)
@@ -4006,40 +3986,22 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
40063986
* loop, so don't actually delete so we don't create log holes.
40073987
*/
40083988
if (bdb_state->attr->debug_log_deletion) {
4009-
logmsg(LOGMSG_DEBUG, "not deleting %d, lowfilenum %d adj %d low %d\n",
4010-
filenum, lowfilenum, delete_adjacent,
4011-
is_low_headroom);
3989+
logmsg(LOGMSG_DEBUG, "not deleting %d, lowfilenum %d adj %d\n",
3990+
filenum, lowfilenum, delete_adjacent);
40123991
}
40133992
if (ctrace_info)
4014-
ctrace("not deleting %d, lowfilenum %d adj %d low %d\n",
4015-
filenum, lowfilenum, delete_adjacent,
4016-
is_low_headroom);
3993+
ctrace("not deleting %d, lowfilenum %d adj %d\n",
3994+
filenum, lowfilenum, delete_adjacent);
40173995
delete_adjacent = 0;
40183996
}
40193997

40203998
if (gbl_new_snapisol_asof) {
40213999
Pthread_mutex_unlock(&bdb_gbl_recoverable_lsn_mutex);
40224000
}
4023-
4024-
if (is_low_headroom &&
4025-
!has_low_headroom(bdb_state->txndir,
4026-
bdb_state->attr->lowdiskthreshold, 0)) {
4027-
is_low_headroom = 0;
4028-
} else {
4029-
low_headroom_count++;
4030-
}
40314001
}
4032-
4033-
if (has_low_headroom(bdb_state->txndir,bdb_state->attr->lowdiskthreshold, 0)) {
4034-
low_headroom_count++;
4035-
is_low_headroom = 1;
4036-
free(list);
4037-
/* try again */
4038-
goto low_headroom;
4039-
}
4040-
40414002
free(list);
40424003
}
4004+
40434005
if (list == NULL || send_filenum == 0) {
40444006
DB_LOGC *logc;
40454007
DBT logrec;
@@ -4086,13 +4048,6 @@ static void delete_log_files_int(bdb_state_type *bdb_state)
40864048
ctrace("sending filenum %d\n", send_filenum);
40874049
}
40884050

4089-
int bdb_get_low_headroom_count(bdb_state_type *bdb_state)
4090-
{
4091-
if (bdb_state->parent)
4092-
bdb_state = bdb_state->parent;
4093-
return bdb_state->low_headroom_count;
4094-
}
4095-
40964051
static pthread_mutex_t logdelete_lk = PTHREAD_MUTEX_INITIALIZER;
40974052
int gbl_logdelete_lock_trace = 0;
40984053

plugins/logdelete/logdelete.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,6 @@ static int handle_logdelete_request(comdb2_appsock_arg_t *arg)
5656

5757
backend_update_sync(thedb);
5858

59-
/* check for after commented out below as well
60-
int before_count = bdb_get_low_headroom_count(thedb->bdb_env);
61-
*/
6259
before_master = ATOMIC_LOAD32(gbl_master_changes);
6360
before_sc = gbl_sc_commit_count;
6461
logmsg(LOGMSG_INFO, "Disabling log file deletion\n");
@@ -134,13 +131,6 @@ static int handle_logdelete_request(comdb2_appsock_arg_t *arg)
134131
if (report_back) {
135132
/* If we deleted log files during that due to log file deletion
136133
* then report so */
137-
/*
138-
int after_count = bdb_get_low_headroom_count(thedb->bdb_env);
139-
if(after_count != before_count) {
140-
sbuf2printf(sb, "Alert: log files deleted due to low disk
141-
headroom\n");
142-
}
143-
*/
144134
/* (this test is not reliable) */
145135

146136
/* If the master node changed during that then report that too

0 commit comments

Comments
 (0)