You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Alexey Radkov (JIRA)" <ji...@apache.org> on 2014/05/11 11:14:14 UTC
[jira] [Comment Edited] (THRIFT-2528) Thrift Erlang Library:
Multiple thrift applications in one bundle
[ https://issues.apache.org/jira/browse/THRIFT-2528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13994482#comment-13994482 ]
Alexey Radkov edited comment on THRIFT-2528 at 5/11/14 9:12 AM:
----------------------------------------------------------------
the patch attached
was (Author: lyokha):
the patch
> Thrift Erlang Library: Multiple thrift applications in one bundle
> -----------------------------------------------------------------
>
> Key: THRIFT-2528
> URL: https://issues.apache.org/jira/browse/THRIFT-2528
> Project: Thrift
> Issue Type: Bug
> Components: Erlang - Library
> Reporter: Alexey Radkov
> Priority: Minor
> Attachments: thrift-appreg.patch
>
>
> Probably this is rather a wish than a bug. Also i found the multiplex task for Erlang [https://issues.apache.org/jira/browse/THRIFT-2110] that relates to this but seems to be slightly different.
> I need two thrift applications running in one bundle: a library API, say _rsappapi_ and a test API _rstestapi_: the former is needed to set up the library API configuration via thrift calls. Currently it is not feasible because thrift application registers in {{start_link()}} with predefined name in {{lib/erl/src/thrift_server.erl}}:
> {code}
> gen_server:start_link({local, ?SERVER}, ?MODULE, {Port, Service, HandlerModule}, []).
> {code}
> and i got {{already_started}} exception:
> {noformat}
> =PROGRESS REPORT==== 11-May-2014::12:26:32 ===
> application: rsappapi
> started_at: rstestapi@desktop
> =SUPERVISOR REPORT==== 11-May-2014::12:26:32 ===
> Supervisor: {local,rstestapi_sup}
> Context: start_error
> Reason: {already_started,<0.53.0>}
> Offender: [{pid,undefined},
> {name,rstestapi_service},
> {mfargs,{rstestapi_service,start_link,[]}},
> {restart_type,permanent},
> {shutdown,2000},
> {child_type,worker}]
> =CRASH REPORT==== 11-May-2014::12:26:32 ===
> crasher:
> initial call: application_master:init/4
> pid: <0.55.0>
> registered_name: []
> exception exit: {{shutdown,
> {failed_to_start_child,rstestapi_service,
> {already_started,<0.53.0>}}},
> {rstestapi_app,start,[normal,[]]}}
> in function application_master:init/4 (application_master.erl, line 133)
> ancestors: [<0.54.0>]
> messages: [{'EXIT',<0.56.0>,normal}]
> links: [<0.54.0>,<0.7.0>]
> dictionary: []
> trap_exit: true
> status: running
> heap_size: 610
> stack_size: 27
> reductions: 130
> neighbours:
> =INFO REPORT==== 11-May-2014::12:26:33 ===
> application: rstestapi
> exited: {{shutdown,
> {failed_to_start_child,rstestapi_service,
> {already_started,<0.53.0>}}},
> {rstestapi_app,start,[normal,[]]}}
> type: temporary
> {noformat}
> I attached a patch that fixes this issue for me. It just replaces constant {{?SERVER}} with the variable {{Service}} which normally has well-distinguished name like _tSomeService_thrift_ and should not mess in Erlang applications names.
--
This message was sent by Atlassian JIRA
(v6.2#6252)