You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oodt.apache.org by "Imesha Sudasingha (JIRA)" <ji...@apache.org> on 2018/06/30 17:06:00 UTC

[jira] [Comment Edited] (OODT-985) AvroRpcWorkflowManager only accepts a map of strings as metadata

    [ https://issues.apache.org/jira/browse/OODT-985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16528817#comment-16528817 ] 

Imesha Sudasingha edited comment on OODT-985 at 6/30/18 5:05 PM:
-----------------------------------------------------------------

We basically have 2 options:
 # Define a complex type like {{Map<String, List<String>>}} as the method parameter. Then we have a problem with DRAT (and python) because avro python client doesn't support complex types. So we have to find alternative approaches for python clients.
 # Let the definition be as it is. When sending a List as a value, concat the list values using a character like "*~*" and split by that later in the File manager server.

Out of these two, 1st approach looks cleaner and do not use temp workarounds. My opinion is with 1st option. Any comments?


was (Author: imesha):
We basically have 2 options:
 # Define a complex type like \{{Map<String, List<String>>}} as the method parameter. Then we have a problem with DRAT (and python) because avro python client doesn't support complex types. So we have to find alternative approaches for python clients.
 # Let the definition be as it is. When sending a List as a value, concat the list values using a character like "*~*" and split by that later in the File manager server.

Out of these two, 1st approach looks cleaner and do not use temp workarounds. My opinion is with 2nd option. Any comments?

> AvroRpcWorkflowManager only accepts a map of strings as metadata
> ----------------------------------------------------------------
>
>                 Key: OODT-985
>                 URL: https://issues.apache.org/jira/browse/OODT-985
>             Project: OODT
>          Issue Type: Bug
>          Components: workflow manager
>    Affects Versions: 1.2.2
>            Reporter: Imesha Sudasingha
>            Priority: Blocker
>             Fix For: 1.9
>
>
> AvroRpcWorkflowManager only accepts a map of *String*:
> {code:java}
> // Ex: When creating a dynamic workflow
> @Override
> public String executeDynamicWorkflow(List<String> taskIds, Map<String, String> metadata) throws AvroRemoteException;
> {code}
> This becomes a problem when the metadata fields have a list of values. In XmlRpcWorkflowManager, this was like that and Avro version should behave the same to be compatible with other components.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)