[
https://issues.apache.org/jira/browse/ASTERIXDB-1302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ildar Absalyamov updated ASTERIXDB-1302:
----------------------------------------
Description:
Connected feed deadlocks :
{noformat}
drop dataverse experiments if exists;
create dataverse experiments;
use dataverse experiments;
create type TwitterUserType as closed {
screen-name: string,
lang: string,
friends_count: int32,
statuses_count: int32,
name: string,
followers_count: int32
}
create type TweetMessageType as closed {
tweetid: int64,
user: TwitterUserType,
sender-location: point,
send-time: datetime,
referred-topics: {{ string }},
message-text: string
}
create dataset Tweets(TweetMessageType) primary key tweetid;
create feed TweetFeed using socket_adapter
(
("sockets"="127.0.0.1:10001"),
("address-type"="IP"),
("type-name"="TweetMessageType"),
("format"="adm")
);
set wait-for-completion-feed "false";
connect feed TweetFeed to dataset Tweets;
{noformat}
Any modification operation on dataset\dataverse such as drop would result in a
deadlock
{noformat}
drop dataverse experiments;
{noformat}
The correct behavior would be to give an error message to the user, notifying
that the feed should be disconnected first, or allowing to drop dataverse,
while managing locks correctly
was:
Connected feed deadlocks any modification operation on dataset\dataverse such
as drop:
{noformat}
drop dataverse experiments if exists;
create dataverse experiments;
use dataverse experiments;
create type TwitterUserType as closed {
screen-name: string,
lang: string,
friends_count: int32,
statuses_count: int32,
name: string,
followers_count: int32
}
create type TweetMessageType as closed {
tweetid: int64,
user: TwitterUserType,
sender-location: point,
send-time: datetime,
referred-topics: {{ string }},
message-text: string
}
create dataset Tweets(TweetMessageType) primary key tweetid;
create feed TweetFeed using socket_adapter
(
("sockets"="127.0.0.1:10001"),
("address-type"="IP"),
("type-name"="TweetMessageType"),
("format"="adm")
);
set wait-for-completion-feed "false";
connect feed TweetFeed to dataset Tweets;
drop dataverse experiments;
{noformat}
> Deadlock while trying to drop feed dataverse
> --------------------------------------------
>
> Key: ASTERIXDB-1302
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1302
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: Feeds
> Reporter: Ildar Absalyamov
>
> Connected feed deadlocks :
> {noformat}
> drop dataverse experiments if exists;
> create dataverse experiments;
> use dataverse experiments;
> create type TwitterUserType as closed {
> screen-name: string,
> lang: string,
> friends_count: int32,
> statuses_count: int32,
> name: string,
> followers_count: int32
> }
> create type TweetMessageType as closed {
> tweetid: int64,
> user: TwitterUserType,
> sender-location: point,
> send-time: datetime,
> referred-topics: {{ string }},
> message-text: string
> }
> create dataset Tweets(TweetMessageType) primary key tweetid;
> create feed TweetFeed using socket_adapter
> (
> ("sockets"="127.0.0.1:10001"),
> ("address-type"="IP"),
> ("type-name"="TweetMessageType"),
> ("format"="adm")
> );
> set wait-for-completion-feed "false";
> connect feed TweetFeed to dataset Tweets;
> {noformat}
> Any modification operation on dataset\dataverse such as drop would result in
> a deadlock
> {noformat}
> drop dataverse experiments;
> {noformat}
> The correct behavior would be to give an error message to the user, notifying
> that the feed should be disconnected first, or allowing to drop dataverse,
> while managing locks correctly
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)