Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-10-22 16:53:54 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
531b658f8e653103708f913f52ad09f4f4206ef5
531b658f
1 parent
61486a82
retry when metadata empty
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
20 行增加
和
1 行删除
trunk/src/app/srs_app_kafka.cpp
trunk/src/protocol/srs_kafka_stack.hpp
trunk/src/app/srs_app_kafka.cpp
查看文件 @
531b658
...
...
@@ -459,7 +459,8 @@ int SrsKafkaProducer::request_metadata()
senabled
.
c_str
(),
sbrokers
.
c_str
(),
lb
->
current
(),
server
.
c_str
(),
port
,
topic
.
c_str
());
}
// connect to kafka server.
// reconnect to kafka server.
transport
->
close
();
if
((
ret
=
transport
->
connect
(
server
,
port
,
SRS_CONSTS_KAFKA_TIMEOUT_US
))
!=
ERROR_SUCCESS
)
{
srs_error
(
"kafka connect %s:%d failed. ret=%d"
,
server
.
c_str
(),
port
,
ret
);
return
ret
;
...
...
@@ -473,6 +474,16 @@ int SrsKafkaProducer::request_metadata()
}
SrsAutoFree
(
SrsKafkaTopicMetadataResponse
,
metadata
);
// we may need to request multiple times.
// for example, the first time to create a none-exists topic, then query metadata.
if
(
!
metadata
->
metadatas
.
empty
())
{
SrsKafkaTopicMetadata
*
topic
=
metadata
->
metadatas
.
at
(
0
);
if
(
topic
->
metadatas
.
empty
())
{
srs_warn
(
"topic %s metadata empty, retry."
,
topic
->
name
.
to_str
().
c_str
());
return
ret
;
}
}
// show kafka metadata.
string
summary
=
srs_kafka_metadata_summary
(
metadata
);
srs_trace
(
"kafka metadata: %s"
,
summary
.
c_str
());
...
...
trunk/src/protocol/srs_kafka_stack.hpp
查看文件 @
531b658
...
...
@@ -152,6 +152,10 @@ public:
{
return
length
;
}
virtual
bool
empty
()
{
return
elems
.
empty
();
}
virtual
T
*
at
(
int
index
)
{
return
elems
.
at
(
index
);
...
...
@@ -241,6 +245,10 @@ public:
{
return
length
;
}
virtual
bool
empty
()
{
return
elems
.
empty
();
}
virtual
int32_t
at
(
int
index
)
{
return
elems
.
at
(
index
);
...
...
请
注册
或
登录
后发表评论