"Cannot reach your data" error on segment

Hi everyone,

We have met error on segment since Friday : We use segments based on SQL requests. The SQL requests are working well on Heroku SQL tools (meaning the error does not seem to come from the syntax) and worked well the last 6 months. We have not change the request.

While trying to see what’s the blocking point on the log, we face no log.

Expected behavior

Clicking on the segment, seeing the data from the request or a “No xxx match the segment” message. On the logs, log of the request

Actual behavior

Clicking on the segment : “Cannot reach your data” message and no log

Hi @Guillaume,

Can you please share the network tab content in your dev tools while you browse the segment?

Regards

Hi @Sliman_Medini

Thanks for your answer. Is that what you need ?

Yes that’s it.

It seems you have a lot of segments not working.
Are all segments not working in your production environment?
Do you have also other environments with failing segments?

Also, did you perform some action between the moment it was working and the moment if fail? Maybe a deployment, a big change somewhere…
What is your project name, please?

Thank you

@Sliman_Medini

Thanks a lot. To answer your question :

  • this environment (called Monthly Ops) have a lot but not all the segments not working
  • the other environments (Daily Ops, Finance, etc.) don’t have not working segments
  • No deployment these last days, no big change

Project Name : CulturePay

Thanks a lot

Guillaume,

Can you give it a try on the segments? I’ve fixed an error, but I think everything is still not fixed.

Another question: Did you define smart action on segments?

@Sliman_Medini I’ve just tried again, without success. There’s some smart actions on this environment, some of them are dedicated to these segments.

Hi @Guillaume,

We continue to dig into the issue you have.

We managed to reproduce the 404 errors you have in your browser console.
We have prioritised to fix this but those are technical issues that are silent from a user perspective.

So we still don’t know how to manage to get “Cannot reach your data” error on segments.
It would help a lot to get the server errors logs when trying to reach those segments.
Could you also share with us those segment conditions just in case :pray: ?

Hi @arnaud

We have just checked and we do not have server errors logs. Nothing happens on servers while cliking on these segments. It seems like Forest do not send any request on our servers for this segment

Hope it helps a bit :wink:

Ok, it would help a lot if you could share a screencast of how you reach this kind of issues while navigating in the app. You can use loom.com for instance.

@arnaud Thanks a lot. Below is the screencast link

Password is CulturePay

Thanks,

Has we have no clear logs and cannot manage to reproduce the issue to investigate on it, I have a few tests/questions in mind:

  • Do you have a similar segment (with an identical SQL query) that works in other teams of your project?
  • Is the segment accessible, if you create a brand new one, in the same team (with an identical SQL query)?

@arnaud

I’ve just tried two reproductions :

  • same request in the same environment, in a newly created segment → same result, “We cannot reach your data” message
  • same request in an other environment, in a newly created segment → same result, “We cannot reach your data” message

Ok, and you still don’t have any requests leaving the browser in such scenario?

I tried to create a fake segment with the SQL query you use for your segment, I can observe request errors in the browser console: 413 Payload Too Large. And the request never reaches the admin backend.

It is weird it used to work, I don’t think we published any changes recently about this “data” layer.

@arnaud
Thanks for your answer. Still ne requests leaving the browser in this configuration
What does the ‘413 error’ mean ? We have not changed the request these last days.

Hi @arnaud @Sliman_Medini
Hope all is well for you. Due to the 413 error, we have tried to optimize the request syntax to make it lighter, but it seems we cannot really go further in this way, and we still face the issue. When using the console, it seems it’s mostly 404 error while we access the “Monthly Ops” environment, then a blocking from CORS policy while clicking on the segment.

Do you have news on your side ?

Thanks a lot

By the way, it seems we can make smart segments with query on mongodb or rails, but I cannot see the feature on the segment administration panel. How can we make it ? Would it be a solution ?

Hello @Guillaume,

Do you know if you’ve updated your browser version recently?
The 413 http status occurs when the request body is too large, and the browser does not want to send it to the server.

The 413 Payload Too Large response is used when the client sent a request with a body that’s too big.

Maybe the request was a file upload, and it exceeded the maximum file-size, or maybe it’s an API and it preemptively blocks requests that are unrealisticly large.

It’s a good idea to try and think of reasonable limits for requests, as accepting arbitrary-size HTTP requests could result in denial-of-service attacks.

If this error is temporary, a server can include a Retry-After header to indicate to the client they should just try again after a certain amount of time.

One example of a temporary status could be that the client has an upload-quota and it was exceeded.

@Guillaume_Cisco

Thanks for your answer. About your different points :

  • we have the last version of chrome (attached is the sreenshot)
  • we face the same issue on other browsers (Firefox, Safari)
  • we have not changed the request (so why sould it be heavier suddenly ?)
  • we do not see any 413 error on our console, only 404 while loading the page, then 414 error while clicking on the broken segments. Does this mean the request is too long (in terms of number of caracters ?)
  • 13 error was mention by your colleague, but we failed to recreate the error
  • have you other ways to manage complex segments ? It’s critical for our operations

Hello @Guillaume,

I suspect a change in the last google chrome version.
There is an RFC regarding how much data you can send with he GET method, but browsers implement this limit their own way. The last version of google chrome might have reduce it.
Would that be possible to test it with a lower version of google chrome?
For example the 86 one?