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)