[ 
https://issues.apache.org/jira/browse/SPARK-8868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Josh Rosen resolved SPARK-8868.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 1.5.0
                   1.4.2

Issue resolved by pull request 7262
[https://github.com/apache/spark/pull/7262]

> SqlSerializer2 can go into infinite loop when row consists only of NullType 
> columns
> -----------------------------------------------------------------------------------
>
>                 Key: SPARK-8868
>                 URL: https://issues.apache.org/jira/browse/SPARK-8868
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 1.4.0, 1.5.0
>            Reporter: Josh Rosen
>            Assignee: Yin Huai
>            Priority: Minor
>             Fix For: 1.4.2, 1.5.0
>
>
> The following SQL query will cause an infinite loop in SqlSerializer2 code:
> {code}
> val df = sqlContext.sql("select null where 1 = 1")
> df.unionAll(df).sort("_c0").collect()
> {code}
> The same problem occurs if we add more null-literals, but does not occur as 
> long as there is a column of any other type (e.g. {{select 1, null where 1 == 
> 1}}).
> I think that what's happening here is that if you have a row that consists 
> only of columns of NullType (not columns of other types which happen to only 
> contain null values, but only columns of null literals), SqlSerializer will 
> end up writing / reading no data for rows of this type.  Since the 
> deserialization stream will never try to read any data but nevertheless will 
> be able to return an empty row, DeserializationStream.asIterator will go into 
> an infinite loop since there will never be a read to trigger an EOF exception.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to