Forum Discussion

m_cherriman's avatar
m_cherriman
Advocate I
2 years ago

Error using data imported through DataFlow when using pyspark

Since Sunday (13-11-2023) I have been getting this error message on data imported through DataFlows.  Previously they have been working.  Has anyone else experienced this issue?

 

SparkRuntimeException: Error while decoding: java.lang.IllegalArgumentException: requirement failed: Mismatched minReaderVersion and readerFeatures. newInstance(class scala.Tuple3).

 

The Data Flows are linking to an on prem sql server database and I'm able to query the table in the sql endpoint, but cannot read the table into a dataframe.  I've tried restricting the data to a couple of lines to see if there is unusual item in any of the queries, but nothing obvious and they previously worked.  To get round this I've had to extract the data into csv files (using a python script in vs code) and then uploading the csvs to Files folders and then importing those files into a new table, which can be read using pyspark.

 

I've had a couple of issues with Data Flows over the last week which makes me wonder how reliable they are.

26 Replies

  • KA78's avatar
    KA78
    Advocate I

    So, I found the root of the bug and also a temporary workaround.

     

    The bug is that Dataflows gen2 writes this in the json delta log files :

    • {"protocol":{"minReaderVersion":1,"minWriterVersion":2,"readerFeatures":[],"writerFeatures":[]}}

     That's the reason for this error message : requirement failed: Mismatched minReaderVersion and readerFeatures

     

    A temporary fix is to change this string in all the _delta_log json files for the table to:

    • {"protocol":{"minReaderVersion":1,"minWriterVersion":2}}

    You can change the log files within the onelake in your files browser:

     

    • jcvega's avatar
      jcvega
      Frequent Visitor

      Thansk for the workarround.. I had the same issue.. How can I edit these files?

  • v-cboorla-msft's avatar
    v-cboorla-msft
    Microsoft Employee

    Hi m_cherriman 

     

    Thanks for using the Microsoft Fabric Community.

    Apologies for the inconvenience that you are facing here.

    At this time, we are reaching out to the internal team to get some help on this.
    We will update you once we hear back from them.

    Appreciate your patience.

     

    Thanks

    • jeremycolson1's avatar
      jeremycolson1
      Advocate I

      Has there been a resolution to this issue? We are doing a POC w/ Fabric... and following Microsoft's own instructions we are getting this error. Doing the most basic of use cases... using a one step ADF pipeline w/ a Copy task to load an example dataset (NYC Taxi) into the lakehouse (no on-premises complications, no data gateways, etc.). Then attempting to access that table in a Notebook... fails w/ this same error.

       

      Error:

      SparkRuntimeException: 
      Error while decoding: java.lang.IllegalArgumentException: requirement failed:
      Mismatched minReaderVersion and readerFeatures. newInstance(class scala.Tuple3)

       

      Delta log appears fine:

      {"protocol":{"minReaderVersion":1,"minWriterVersion":2}}

       

       

      • Reidy's avatar
        Reidy
        Regular Visitor

        Hey,

         

        We got around this by downgrading the spark version in the environment used for our Notebooks. 1.1 works fine, 1.2 has the issue.

         

    • v-cboorla-msft's avatar
      v-cboorla-msft
      Microsoft Employee

      Hi m_cherriman 

       

      Thanks for using Fabric Community.
      Apologies for the issue you have been facing.  

      Please go ahead and raise a support ticket to reach our support team:

      https://support.fabric.microsoft.com/support

      After creating a Support ticket please provide the ticket number as it would help us to track for more information.

       

      Thank you.

      • souldish's avatar
        souldish
        Frequent Visitor

        We are experiencing same issue with csv data coming from dataflow gen 2

  • KA78's avatar
    KA78
    Advocate I

    Any news on this issue? We're experiencing the same problem. This is a real show stopper.

  • KA78's avatar
    KA78
    Advocate I

    Hi, 

    v-cboorla-msft is there perhaps an update you can give us on this issue?

    Also, if anyone should have a workaround, we would aprecieate it greatly. This is a real showstopper now. 

     

    Our ERP data resides in an on premise database that we can only access with ODBC. So the only way to get this data into Fabric (when using only fabric - we want to stay with SaaS) is by using Dataflow gen2. And now the tables created by Dataflow gen2, can't be used in a notebook. So we can't use a notebook / pyspark to tranform our data...

     

    Does anyone know of a workaround, inside Fabric, so that we can combine ODBC on prem data + notebooks? Any help is greatly appreciated. 

     

    m_cherriman , did you perhaps find a solution?

     

    Thanks in advance for any update or insight into this issue.

    • v-cboorla-msft's avatar
      v-cboorla-msft
      Microsoft Employee

      Hi KA78 

       

      Thanks for using Fabric Community and posting your question.

      Can you please create a new post as the initial ask is different from your issue? We will definitely look into the issue and help.

       

      Thanks for understanding.

      • KA78's avatar
        KA78
        Advocate I

        Thanks @v-cboorla-msft for your reply. I'll create a new post for my question regarding the workaround. 

        Although, the root of the problem is the same as the initial ask. Is there perhaps something you can share about the status of the inital ask : "Error using data imported through DataFlow when using pyspark". Is this a known issue?


        (related to this error : "SparkRuntimeException: Error while decoding: java.lang.IllegalArgumentException: requirement failed: Mismatched minReaderVersion and readerFeatures. newInstance(class scala.Tuple3)." )

  • KA78's avatar
    KA78
    Advocate I

    UPDATE:

     

    I also created a ticket for this bug. I just received an email from support telling me it will be fixed this week ! ğŸ˜€

     

    "Would like to inform you that I have received an update from engineering team. The update says it was a dataflow bug whose fix will be done and rolled out to production by the end of this week.

    For Dataflows Gen2, the fix should reach all production regions by the end of this week."

     

    Thanks Microsoft for the great support!

     

    It would be nice if we could see this kind of major issue in the known issues list in the future : Microsoft Fabric Known Issues

    • KA78's avatar
      KA78
      Advocate I

      jcvega I'm just tagging you here so you'll get a notice that you don't have to put effort in the workaround. Should be fixed this week.

  • naanii's avatar
    naanii
    Frequent Visitor

    Hello,

     

    I am still experiencing the same issue.

    Any update about this case?

    • KA78's avatar
      KA78
      Advocate I

      Hi naanii, You'll also have to update your power bi gateway. 

    • Anonymous's avatar
      Anonymous
      Not applicable

      If you are using the gateway, make sure that you are using the latest version. The Dataflows Gen2 has been updated in all regions by 2/23. Let me know if that works. 

  • souldish's avatar
    souldish
    Frequent Visitor

    Still seeing issues with this....not connected to gateway and using DFG2 to connect to REST API and copy the data to a table in the lakehouse.

     

    Any updates on this issue? it makes DFG2 completely unusable. 

    • souldish's avatar
      souldish
      Frequent Visitor

      I think i got the issue resolved. I'm not sure what exactly fixed it, but I removed a previous connection to an on prem gateway in my DFG2 even though the current flow wasn't using a gateway at all. Then, I re created the dataflow in a new DFG2. Something about the connection to the gateway was still being written to the files even though I wasn't using the on prem gateway connection. Weird.