Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
442c7657
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
442c7657
编写于
2月 08, 2023
作者:
D
dapan1121
提交者:
GitHub
2月 08, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #19849 from taosdata/fix/TS-2582
fix: setting logKeepDays to -1 result in empty compressed logs.
上级
94158747
3b03341d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
52 addition
and
47 deletion
+52
-47
include/os/osFile.h
include/os/osFile.h
+2
-0
source/os/CMakeLists.txt
source/os/CMakeLists.txt
+4
-2
source/os/src/osFile.c
source/os/src/osFile.c
+46
-0
source/util/src/tlog.c
source/util/src/tlog.c
+0
-45
未找到文件。
include/os/osFile.h
浏览文件 @
442c7657
...
...
@@ -110,6 +110,8 @@ bool taosValidFile(TdFilePtr pFile);
int32_t
taosGetErrorFile
(
TdFilePtr
pFile
);
int32_t
taosCompressFile
(
char
*
srcFileName
,
char
*
destFileName
);
#ifdef __cplusplus
}
#endif
...
...
source/os/CMakeLists.txt
浏览文件 @
442c7657
...
...
@@ -37,7 +37,9 @@ if(CHECK_STR2INT_ERROR)
add_definitions
(
-DTD_CHECK_STR_TO_INT_ERROR
)
endif
()
target_link_libraries
(
os PUBLIC pthread
os
PUBLIC pthread
PUBLIC zlibstatic
)
if
(
TD_WINDOWS
)
target_link_libraries
(
...
...
@@ -63,4 +65,4 @@ ENDIF ()
if
(
${
BUILD_TEST
}
)
add_subdirectory
(
test
)
endif
(
${
BUILD_TEST
}
)
\ No newline at end of file
endif
(
${
BUILD_TEST
}
)
source/os/src/osFile.c
浏览文件 @
442c7657
...
...
@@ -15,6 +15,7 @@
#define ALLOW_FORBID_FUNC
#include "os.h"
#include "osSemaphore.h"
#include "zlib.h"
#ifdef WINDOWS
#include <io.h>
...
...
@@ -830,3 +831,48 @@ bool taosCheckAccessFile(const char *pathname, int32_t tdFileAccessOptions) {
}
bool
taosCheckExistFile
(
const
char
*
pathname
)
{
return
taosCheckAccessFile
(
pathname
,
TD_FILE_ACCESS_EXIST_OK
);
};
int32_t
taosCompressFile
(
char
*
srcFileName
,
char
*
destFileName
)
{
int32_t
compressSize
=
163840
;
int32_t
ret
=
0
;
int32_t
len
=
0
;
char
*
data
=
taosMemoryMalloc
(
compressSize
);
gzFile
dstFp
=
NULL
;
TdFilePtr
pSrcFile
=
taosOpenFile
(
srcFileName
,
TD_FILE_READ
|
TD_FILE_STREAM
);
if
(
pSrcFile
==
NULL
)
{
ret
=
-
1
;
goto
cmp_end
;
}
TdFilePtr
pFile
=
taosOpenFile
(
destFileName
,
TD_FILE_CREATE
|
TD_FILE_WRITE
|
TD_FILE_TRUNC
);
if
(
pFile
==
NULL
)
{
ret
=
-
2
;
goto
cmp_end
;
}
dstFp
=
gzdopen
(
pFile
->
fd
,
"wb6f"
);
if
(
dstFp
==
NULL
)
{
ret
=
-
3
;
taosCloseFile
(
&
pFile
);
goto
cmp_end
;
}
while
(
!
feof
(
pSrcFile
->
fp
))
{
len
=
(
int32_t
)
fread
(
data
,
1
,
compressSize
,
pSrcFile
->
fp
);
(
void
)
gzwrite
(
dstFp
,
data
,
len
);
}
cmp_end:
if
(
pSrcFile
)
{
taosCloseFile
(
&
pSrcFile
);
}
if
(
dstFp
)
{
gzclose
(
dstFp
);
}
taosMemoryFree
(
data
);
return
ret
;
}
source/util/src/tlog.c
浏览文件 @
442c7657
...
...
@@ -115,7 +115,6 @@ static int32_t taosPushLogBuffer(SLogBuff *pLogBuf, const char *msg, int32_t m
static
SLogBuff
*
taosLogBuffNew
(
int32_t
bufSize
);
static
void
taosCloseLogByFd
(
TdFilePtr
pFile
);
static
int32_t
taosOpenLogFile
(
char
*
fn
,
int32_t
maxLines
,
int32_t
maxFileNum
);
static
int32_t
taosCompressFile
(
char
*
srcFileName
,
char
*
destFileName
);
static
FORCE_INLINE
void
taosUpdateDaylight
()
{
struct
tm
Tm
,
*
ptm
;
...
...
@@ -748,50 +747,6 @@ static void *taosAsyncOutputLog(void *param) {
return
NULL
;
}
int32_t
taosCompressFile
(
char
*
srcFileName
,
char
*
destFileName
)
{
int32_t
compressSize
=
163840
;
int32_t
ret
=
0
;
int32_t
len
=
0
;
char
*
data
=
taosMemoryMalloc
(
compressSize
);
// gzFile dstFp = NULL;
// srcFp = fopen(srcFileName, "r");
TdFilePtr
pSrcFile
=
taosOpenFile
(
srcFileName
,
TD_FILE_READ
);
if
(
pSrcFile
==
NULL
)
{
ret
=
-
1
;
goto
cmp_end
;
}
TdFilePtr
pFile
=
taosOpenFile
(
destFileName
,
TD_FILE_CREATE
|
TD_FILE_WRITE
|
TD_FILE_TRUNC
);
if
(
pFile
==
NULL
)
{
ret
=
-
2
;
goto
cmp_end
;
}
// dstFp = gzdopen(fd, "wb6f");
// if (dstFp == NULL) {
// ret = -3;
// close(fd);
// goto cmp_end;
// }
//
// while (!feof(srcFp)) {
// len = (int32_t)fread(data, 1, compressSize, srcFp);
// (void)gzwrite(dstFp, data, len);
// }
cmp_end:
if
(
pSrcFile
)
{
taosCloseFile
(
&
pSrcFile
);
}
// if (dstFp) {
// gzclose(dstFp);
// }
taosMemoryFree
(
data
);
return
ret
;
}
bool
taosAssertDebug
(
bool
condition
,
const
char
*
file
,
int32_t
line
,
const
char
*
format
,
...)
{
if
(
condition
)
return
false
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录