Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jobily
Questdb
提交
2e2ac8cc
Q
Questdb
项目概览
jobily
/
Questdb
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
Questdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2e2ac8cc
编写于
12月 02, 2019
作者:
V
Vlad Ilyushchenko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: on Linux platform server will use recvmmsg() for influx protocol
上级
1cf87c7a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
51 addition
and
16 deletion
+51
-16
core/src/main/java/io/questdb/ServerMain.java
core/src/main/java/io/questdb/ServerMain.java
+18
-6
core/src/main/java/io/questdb/cutlass/line/udp/LinuxLineProtoReceiver.java
...a/io/questdb/cutlass/line/udp/LinuxLineProtoReceiver.java
+33
-10
未找到文件。
core/src/main/java/io/questdb/ServerMain.java
浏览文件 @
2e2ac8cc
...
...
@@ -27,6 +27,7 @@ package io.questdb;
import
io.questdb.cairo.CairoEngine
;
import
io.questdb.cutlass.http.HttpServer
;
import
io.questdb.cutlass.line.udp.GenericLineProtoReceiver
;
import
io.questdb.cutlass.line.udp.LinuxLineProtoReceiver
;
import
io.questdb.cutlass.pgwire.PGWireServer
;
import
io.questdb.log.Log
;
import
io.questdb.log.LogFactory
;
...
...
@@ -136,12 +137,23 @@ public class ServerMain {
cairoEngine
);
final
Closeable
lineProtocolReceiver
=
GenericLineProtoReceiver
.
create
(
configuration
.
getLineUdpReceiverConfiguration
(),
workerPool
,
log
,
cairoEngine
);
final
Closeable
lineProtocolReceiver
;
if
(
Os
.
type
==
Os
.
LINUX_AMD64
||
Os
.
type
==
Os
.
LINUX_ARM64
)
{
lineProtocolReceiver
=
LinuxLineProtoReceiver
.
create
(
configuration
.
getLineUdpReceiverConfiguration
(),
workerPool
,
log
,
cairoEngine
);
}
else
{
lineProtocolReceiver
=
GenericLineProtoReceiver
.
create
(
configuration
.
getLineUdpReceiverConfiguration
(),
workerPool
,
log
,
cairoEngine
);
}
workerPool
.
start
(
log
);
...
...
core/src/main/java/io/questdb/cutlass/line/udp/LinuxLineProtoReceiver.java
浏览文件 @
2e2ac8cc
...
...
@@ -24,6 +24,7 @@
package
io.questdb.cutlass.line.udp
;
import
io.questdb.WorkerPoolAwareConfiguration
;
import
io.questdb.cairo.CairoEngine
;
import
io.questdb.cairo.CairoException
;
import
io.questdb.cutlass.line.CairoLineProtoParser
;
...
...
@@ -35,12 +36,13 @@ import io.questdb.mp.WorkerPool;
import
io.questdb.network.Net
;
import
io.questdb.network.NetworkFacade
;
import
io.questdb.std.Misc
;
import
org.jetbrains.annotations.Nullable
;
import
java.io.Closeable
;
public
class
LinuxLineProtoReceiver
implements
Closeable
,
Job
{
private
static
final
Log
LOG
=
LogFactory
.
getLog
(
LinuxLineProtoReceiver
.
class
);
private
static
final
WorkerPoolAwareConfiguration
.
ServerFactory
<
LinuxLineProtoReceiver
,
LineUdpReceiverConfiguration
>
CREATE0
=
LinuxLineProtoReceiver:
:
create0
;
private
final
int
msgCount
;
private
final
LineProtoLexer
lexer
;
private
final
CairoLineProtoParser
parser
;
...
...
@@ -54,7 +56,6 @@ public class LinuxLineProtoReceiver implements Closeable, Job {
LineUdpReceiverConfiguration
configuration
,
CairoEngine
engine
,
WorkerPool
workerPool
)
{
nf
=
configuration
.
getNetworkFacade
();
...
...
@@ -82,14 +83,16 @@ public class LinuxLineProtoReceiver implements Closeable, Job {
parser
=
new
CairoLineProtoParser
(
engine
,
configuration
.
getCairoSecurityContext
());
lexer
.
withParser
(
parser
);
LOG
.
info
().
$
(
"started [fd="
).
$
(
fd
).
$
(
", bind="
).
$
(
configuration
.
getBindIPv4Address
()).
$
(
", group="
).
$
(
configuration
.
getGroupIPv4Address
()).
$
(
", port="
).
$
(
configuration
.
getPort
()).
$
(
", batch="
).
$
(
msgCount
).
$
(
", commitRate="
).
$
(
commitRate
).
$
(
']'
).
$
();
LOG
.
info
()
.
$
(
"receiving multicast from "
)
.
$ip
(
configuration
.
getGroupIPv4Address
())
.
$
(
':'
)
.
$
(
configuration
.
getPort
())
.
$
(
" via "
)
.
$ip
(
configuration
.
getBindIPv4Address
())
.
$
(
" [fd="
).
$
(
fd
)
.
$
(
", commitRate="
).
$
(
commitRate
)
.
$
(
']'
).
$
();
workerPool
.
assign
(
this
);
...
...
@@ -109,6 +112,22 @@ public class LinuxLineProtoReceiver implements Closeable, Job {
}
}
@Nullable
public
static
LinuxLineProtoReceiver
create
(
LineUdpReceiverConfiguration
configuration
,
WorkerPool
sharedWorkerPool
,
Log
log
,
CairoEngine
cairoEngine
)
{
return
WorkerPoolAwareConfiguration
.
create
(
configuration
,
sharedWorkerPool
,
log
,
cairoEngine
,
CREATE0
);
}
@Override
public
void
close
()
{
if
(
fd
>
-
1
)
{
...
...
@@ -159,4 +178,8 @@ public class LinuxLineProtoReceiver implements Closeable, Job {
parser
.
commitAll
();
return
ran
;
}
private
static
LinuxLineProtoReceiver
create0
(
LineUdpReceiverConfiguration
configuration
,
CairoEngine
cairoEngine
,
WorkerPool
workerPool
,
boolean
local
)
{
return
new
LinuxLineProtoReceiver
(
configuration
,
cairoEngine
,
workerPool
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录