Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit93d08b2

Browse files
committed
Correctly return number of proceed segments in cfs_gc_relation
1 parentb485470 commit93d08b2

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

‎src/backend/storage/file/cfs.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,8 @@ static bool cfs_gc_file(char* map_path, bool background)
928928
if (res!=BLCKSZ)
929929
{
930930
pg_atomic_fetch_sub_u32(&map->lock,CFS_GC_LOCK);/* release lock */
931-
elog(ERROR,"Verification failed for block %d position %d size %d of relation %s: error code %d",
931+
pg_atomic_fetch_sub_u32(&cfs_state->n_active_gc,1);
932+
elog(ERROR,"CFS: verification failed for block %d position %d size %d of relation %s: error code %d",
932933
i, (int)CFS_INODE_OFFS(inode),size,file_bck_path, (int)res);
933934
}
934935
}
@@ -1429,11 +1430,11 @@ Datum cfs_gc_relation(PG_FUNCTION_ARGS)
14291430
pfree(map_path);
14301431
relation_close(rel,AccessShareLock);
14311432

1432-
processed_segments-=cfs_gc_processed_segments;
1433+
processed_segments=cfs_gc_processed_segments-processed_segments;
14331434

14341435
LWLockRelease(CfsGcLock);
14351436
}
1436-
PG_RETURN_INT32(cfs_gc_processed_segments);
1437+
PG_RETURN_INT32(processed_segments);
14371438
}
14381439

14391440

‎src/backend/storage/file/fd.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1770,7 +1770,7 @@ FileRead(File file, char *buffer, int amount)
17701770
INIT_TRADITIONAL_CRC32(crc);
17711771
COMP_TRADITIONAL_CRC32(crc,compressedBuffer,amount);
17721772
FIN_TRADITIONAL_CRC32(crc);
1773-
elog(LOG,"Decompress error: %d for file %s block %u position %u compressed size %u crc %x",
1773+
elog(LOG,"CFS: decompress error: %d for file %s block %u position %u compressed size %u crc %x",
17741774
returnCode,VfdCache[file].fileName, (uint32)(VfdCache[file].seekPos /BLCKSZ), (uint32)seekPos,amount,crc);
17751775
VfdCache[file].seekPos=FileUnknownPos;
17761776
returnCode=-1;
@@ -2015,6 +2015,8 @@ FileWrite(File file, char *buffer, int amount)
20152015
*/
20162016
if ((int32)pos >=0&& (int32)(pos+amount)<0)
20172017
{
2018+
elog(LOG,"CFS: backend %d forced to performe GC on file %s block %u because it's size exceed %u bytes",
2019+
MyProcPid,VfdCache[file].fileName, (uint32)(VfdCache[file].seekPos /BLCKSZ),pos);
20182020
cfs_gc_segment(VfdCache[file].fileName);
20192021
}
20202022
}

‎src/include/storage/cfs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include"port/atomics.h"
77
#include"storage/rijndael.h"
88

9-
#defineCFS_VERSION "0.25"
9+
#defineCFS_VERSION "0.29"
1010

1111
#defineCFS_GC_LOCK 0x10000000
1212

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp