You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2015/05/08 06:55:00 UTC
[jira] [Commented] (THRIFT-2353) Unexpected 'No more data to read.'
when using TCompactProtocolT
[ https://issues.apache.org/jira/browse/THRIFT-2353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14533856#comment-14533856 ]
James E. King, III commented on THRIFT-2353:
--------------------------------------------
What are the implications of backwards compatibility if we change TSimpleFileTransport to use _O_BINARY mode? For Windows folks who use it, this change could break their I/O. Is the file itself versioned such that we could read the version and decide if we should switch to binary mode? If not, is there a way to add a version that will not break older code if written from newer code? I agree with the notion that "make cross" should exercise TFileTransport.
> Unexpected 'No more data to read.' when using TCompactProtocolT
> ---------------------------------------------------------------
>
> Key: THRIFT-2353
> URL: https://issues.apache.org/jira/browse/THRIFT-2353
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.9.1
> Environment: Windows/Visual Studio 2010
> Reporter: Dan Small
> Attachments: sample.zip
>
>
> Below is my .idl
> I filled in a ConnectorConfig with a couple of 'xmlFiles' and 'delimitedFiles' each of which had several 'properties'.
> I was writing to a file using TSimpleFileTransport and TCompactProtocolT. When I tried to read what had been written I would get the 'No more data to read.' error. If I switched to using TBinaryProtocol then the problem would go away and everything seemed to function correctly.
> The same problem does not happen with Java.
> I tried applying the patch for issue 1833 however that didn't fix the problem.
> union PropertyLocation
> {
> 1 : i64 column
> 2 : string xpath
> }
> struct DocumentProperty
> {
> 1 : i64 datatype,
> 2 : bool dateIsUTC,
> 3 : string id,
> 4 : string displayName,
> 5 : string description,
> 6 : string dateStringFormat,
> 7 : PropertyLocation location;
> }
> struct DelimitedFormat
> {
> 1 : i32 columnDelimiter
> 2 : i32 listDelimiter
> 3 : i32 quote
> 4 : bool firstRowIsHeader
> }
> struct XMLFormat
> {
> 1 : list< string > namespaces
> }
> union FormatDetail
> {
> 1 : DelimitedFormat delimitedFormat
> 2 : XMLFormat xmlFormat
> }
> struct DocumentFormat
> {
> 1 : string id,
> 2 : string displayName,
> 3 : string description,
> 4 : list< DocumentProperty > properties;
> 5 : FormatDetail detail;
> }
> struct ConnectorConfig
> {
> 1 : i64 logRetentionDays
> 2 : i64 logLevel
> 3 : i64 logMaxFileSize
> 4 : list< DocumentFormat > xmlFiles
> 5 : list< DocumentFormat > delimitedFiles
> 6 : string logLocation
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)