Thanks for working on this! It looks to me like the schemas don't match:
you appear to be using NameHeightMessage defined as:

```
message NameHeightMessage {
  string name = 1;
  int32 height = 2;
}
```

And expecting it to work with a table schema that has a "BOOL
knowsJavascript" field. Did you mean to use the "NameHeightKnowsJSMessage"
class?

-Daniel

On Tue, Apr 20, 2021 at 1:02 PM Fernando Morales Martinez <
fernando.mora...@wizeline.com> wrote:

> Sorry for the spam, forgot to add the pertinent link to the code change.
>
>
> https://github.com/fernando-wizeline/beam/commit/abc17db41b6aabf3f337c7742526e5ae9655f40b
>
> Thanks!
>
> On Tue, Apr 20, 2021 at 10:17 AM Fernando Morales Martinez <
> fernando.mora...@wizeline.com> wrote:
>
>> Hi team,
>>
>> I'm working on adding tests to PubsubTableProviderIT class to test the
>> proto support added to Pubsub.
>>
>> The issue below occurs when running
>> *testSQLReadAndWriteWithSameFlatTableDefinition*,
>> *testSQLInsertRowsToPubsubFlat* and
>> *testSQLInsertRowsToPubsubWithTimestampAttributeFlat*
>>  of PubsubTableProviderIT.
>>
>> Right now I'm facing an issue when executing method inferAndVerifySchema
>> of class ProtoPayloadSerializerProvider. The expected schema is set as
>>
>> 'Fields:
>> Field{name=name, description=, type=STRING, options={{}}}
>> Field{name=height, description=, type=INT32, options={{}}}
>> Field{name=knowsJavascript, description=, type=BOOLEAN, options={{}}}
>> Options:{{}}'
>>
>> and the schema obtained from the protoclass is:
>>
>> 'Fields:
>> Field{name=name, description=, type=STRING NOT NULL,
>> options={{beam:option:proto:meta:number=Option{type=INT32 NOT NULL,
>> value=1}}}}
>> Field{name=height, description=, type=INT32 NOT NULL,
>> options={{beam:option:proto:meta:number=Option{type=INT32 NOT NULL,
>> value=2}}}}
>> Options:{{beam:option:proto:meta:type_name=Option{type=STRING NOT NULL,
>> value=NameHeightMessage}}}'
>> java.lang.IllegalArgumentException: Given message schema: 'Fields:
>> Field{name=name, description=, type=STRING, options={{}}}
>> Field{name=height, description=, type=INT32, options={{}}}
>> Field{name=knowsJavascript, description=, type=BOOLEAN, options={{}}}
>> Options:{{}}'
>>
>> I'm guessing, by the name of the tests, the idea is to compare the
>> payload (protoclass in this case) against the flat schema, but then the
>> validation in inferAndVerifySchema fails.
>>
>> Should I be looking for a workaround for that and if so, can you shed
>> some light on how to proceed?
>>
>> Thanks for the help!
>> - Fernando Morales
>>
>>
>
>
>
>
>
>
>
> *This email and its contents (including any attachments) are being sent
> toyou on the condition of confidentiality and may be protected by
> legalprivilege. Access to this email by anyone other than the intended
> recipientis unauthorized. If you are not the intended recipient, please
> immediatelynotify the sender by replying to this message and delete the
> materialimmediately from your system. Any further use, dissemination,
> distributionor reproduction of this email is strictly prohibited. Further,
> norepresentation is made with respect to any content contained in this
> email.*

Reply via email to