[
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)