Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8ab1aa4a
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8ab1aa4a
编写于
4月 06, 2023
作者:
S
slzhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: change bugs related to expired udf
上级
adec92b0
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
15 addition
and
14 deletion
+15
-14
source/libs/function/src/udfd.c
source/libs/function/src/udfd.c
+15
-14
未找到文件。
source/libs/function/src/udfd.c
浏览文件 @
8ab1aa4a
...
...
@@ -513,9 +513,9 @@ void convertUdf2UdfInfo(SUdf *udf, SScriptUdfInfo *udfInfo) {
int32_t
udfdRenameUdfFile
(
SUdf
*
udf
)
{
char
newPath
[
PATH_MAX
];
if
(
udf
->
scriptType
==
TSDB_FUNC_SCRIPT_BIN_LIB
)
{
snprintf
(
newPath
,
PATH_MAX
,
"%s/lib%s_%d_%"
PRId64
".so"
,
tsTempDir
,
udf
->
name
,
udf
->
version
,
udf
->
lastFetchTime
);
snprintf
(
newPath
,
PATH_MAX
,
"%s/lib%s_%d_%"
PRId64
".so"
,
tsTempDir
,
udf
->
name
,
udf
->
version
,
udf
->
lastFetchTime
);
}
else
if
(
udf
->
scriptType
==
TSDB_FUNC_SCRIPT_PYTHON
)
{
snprintf
(
newPath
,
PATH_MAX
,
"%s/%s_%d_%"
PRId64
".py"
,
tsTempDir
,
udf
->
name
,
udf
->
version
,
udf
->
lastFetchTime
);
snprintf
(
newPath
,
PATH_MAX
,
"%s/%s_%d_%"
PRId64
".py"
,
tsTempDir
,
udf
->
name
,
udf
->
version
,
udf
->
lastFetchTime
);
}
else
{
return
TSDB_CODE_UDF_SCRIPT_NOT_SUPPORTED
;
}
...
...
@@ -589,18 +589,19 @@ SUdf *udfdGetOrCreateUdf(const char *udfName) {
uv_mutex_lock
(
&
global
.
udfsMutex
);
SUdf
**
pUdfHash
=
taosHashGet
(
global
.
udfsHash
,
udfName
,
strlen
(
udfName
));
int64_t
currTime
=
taosGetTimestampSec
();
bool
expired
=
currTime
-
(
*
pUdfHash
)
->
lastFetchTime
>
10
*
1000
;
if
(
pUdfHash
&&
!
expired
)
{
bool
expired
=
false
;
if
(
pUdfHash
)
{
expired
=
currTime
-
(
*
pUdfHash
)
->
lastFetchTime
>
10
*
1000
;
if
(
!
expired
)
{
++
(
*
pUdfHash
)
->
refCount
;
SUdf
*
udf
=
*
pUdfHash
;
uv_mutex_unlock
(
&
global
.
udfsMutex
);
return
udf
;
}
if
(
pUdfHash
&&
expired
)
{
}
else
{
(
*
pUdfHash
)
->
expired
=
true
;
taosHashRemove
(
global
.
udfsHash
,
udfName
,
strlen
(
udfName
));
}
}
SUdf
*
udf
=
udfdNewUdf
(
udfName
);
SUdf
**
pUdf
=
&
udf
;
...
...
@@ -809,7 +810,7 @@ void udfdProcessTeardownRequest(SUvUdfWork *uvUdf, SUdfRequest *request) {
return
;
}
int32_t
udfdSaveFuncBodyToFile
(
SFuncInfo
*
pFuncInfo
,
SUdf
*
udf
)
{
int32_t
udfdSaveFuncBodyToFile
(
SFuncInfo
*
pFuncInfo
,
SUdf
*
udf
)
{
if
(
!
osTempSpaceAvailable
())
{
terrno
=
TSDB_CODE_NO_AVAIL_DISK
;
fnError
(
"udfd create shared library failed since %s"
,
terrstr
(
terrno
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录