Matan Benjio
11/26/2025, 1:54 PMpdp version :`0.0.5`
• Configuration ( Basic):
pdp:
ApiKey: "[OUR_API_KEY]"
port: 7000
logs_forwarder:
enabled: true
debug_mode: false
The Core Problem:
Our PDP is experiencing repeated failures to communicate with your control plane, resulting in HTTP 503 Service Unavailable errors and timeouts when trying to reach <https://opal-relay.api.permit.io/v2/pdp/callback>.
Key Log Evidence:
We've attached two log files from the incident period `[from Nov 17 at 12:30 PM to Nov 18 at 11:30 AM (IST)]`:
1. logs_by_time.csv - Shows the sequence of events.
2. logs_by_group.csv - Groups the repeated messages, showing the high frequency.
The most repeating errors look like this:
- server replied with HTTP 503 Service Unavailable
- Timeout while fetching url: <https://opal-relay.api.permit.io/v2/pdp/callback?retry=0>
This is causing a complete breakdown in our authorization flows. We'd appreciate your help in reviewing these logs and our configuration to understand why our local PDP cannot maintain a stable connection to your servers.
Thanks in advance for your help.
Cyclops security team.Alon Boshi
11/26/2025, 2:47 PM“This does not affect the PDP’s operational state or data updates.”So, the local PDP does not rely on Opal Relay to function, and these 503 errors should not affect your authorization flows. Few questions to better understand the root cause for the authorization flow issue: • Is this issue still happening since Nov 18? Can it be reproduced reliably? • Could you share: ◦ Exact problem observed ◦ Environment details (workspace, project, environment) ◦ All relevant PDP logs around the time of the issue ◦ Which user authorization failed? ( can you provide the permit.check you did? ) ◦ Did you get a false negative or an exception/error? Once we have this info, we can analyze the incident and suggest next steps. Thanks
Matan Benjio
11/27/2025, 12:01 PMOr Weis
11/27/2025, 12:30 PM• PDP Update Frequency: Documentation says hourly - is this configurable?Where does that say that? The PDP updates on the fly within less than a 100ms usually
• Cache TTL: Can we configure cache time-to-live? How?There’s no cache TTL - data updates on the fly (Assuming the PDP is connected to the control plane)
• Force Update: Is there a way to force PDP update when user permissions change?As explained before; It’s automatic and on the fly. Restarting a PDP forces it to download policy and data from scratch
• Regarding Enforcer.GetUserPermissions: Could you clarify its implementation? Specifically, we need to know if it uses the locally cached PDP data or performs a live query to the Permit API.GetUserPermission like all other PDP APIs that don’t mention proxying to the API explicitly is always local
Or Weis
11/27/2025, 12:53 PMMatan Benjio
11/27/2025, 3:07 PMOr Weis
11/27/2025, 3:27 PM