Performance degradation of the boundary desktop upper than 2.0.1

Hey folks!

boundary controllers/workers - 0.16.0
boundary cli > 2.0.1
MacOS 12.7.5
80+ tcp targets

Experiencing dramatic performance degradation of desktop client. At the same time cli version works as fas as before upgrade from 0.14.x.
Filtering of targets/scopes/sessions and loading list of targets works for 5+ seconds

But if I ran desktop client with sudo, if work as fast as it should!

when running with –enable-logging --log-level=debug
getting the following console error both with and without sudo:

[5049:0712/170933.419826:INFO:CONSOLE(3698)] "Refused to connect to 'https://boundary.indrive.tech/v1/auth-tokens/at_mROGnAxbjP' because it violates the following Content Security Policy directive: "connect-src 'self' https://api.releases.hashicorp.com https://releases.hashicorp.com".
", source: serve://boundary/assets/vendor-08f23c9130cc3a49cfc33a34d1623995.js (3698)
[5049:0712/170940.441255:INFO:CONSOLE(0)] "Uncaught (in promise) Error: Forbidden.", source: serve://boundary/ (0)

I’d be grateful on insights on would be the reason of such a strange behavior?

1 Like

Hi @dmitryroshchin,

Thanks for reaching out about this issue. Could I ask for a little more information? Can you share the output of boundary daemon status?

boundary daemon status

Status:
  Domain Socket:       /Users/<user>/.boundary/socket/daemon.sock
  Log Location:        /Users/<user>/.boundary/cache.log
  Uptime:              8h53m28s
  User Count:          0
  Version:             Boundary v0.16.0 // <-- THIS IS WHAT YOU WANT TO LOOK FOR
  (<git hash>)

If the version does not match your current boundary-cli version, I would run boundary daemon stop followed by boundary daemon start. After that you can run the status command again and the version should match.

Thanks for the quick response!

boundary daemon status

Status:
  Domain Socket:       /Users/roshin/.boundary/socket/daemon.sock
  Log Location:        /Users/roshin/.boundary/cache.log
  Uptime:              42s
  User Count:          1
  Version:             Boundary v0.16.2 (e2f22f766430c522684cb75d229554c610e13eef)

  User:
    Address:                        https://boundary.indrive.tech
    AuthToken Count:                1
    Id:                             u_Qifo7VLXaA
    Search Support:                 Supported
    Since Search Support Check:     3s
    AuthToken:
      Id:                      at_7BhIcvT3am
    Resolvable-Alias:
      Count:                    0
      Last Error Message:       cache.(Repository).refreshResolvableAliases: for token "at_7BhIcvT3am": cache.defaultResolvableAliasFunc: unknown, unknown: error #0:
      {"kind":"PermissionDenied","message":"Forbidden."}
      Since Last Error:         5s
    Target:
      Count:                     82
      Since Initial Fetch:       15s
      Since Last Refresh:        3s
    Session:
      Count:                     1
      Since Initial Fetch:       15s
      Since Last Refresh:        4s

Version remain the same after restart, looks like this is because I’ve installed cli separately with
brew install boundary

Here is the log of a deamon, when starting desktop client with and without sudo:

2024-07-14T12:41:53.709+0300 [ERROR] error event: error_fields:Msg="" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" error_fields:Code=unknown id=e_nTWKYvtT4C version=v0.1 op=cache.defaultResolvableAliasFunc error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}"
2024-07-14T12:41:53.710+0300 [ERROR] error event: version=v0.1 op="cache.(Repository).refreshResolvableAliases" error="cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Msg="for token \"at_7BhIcvT3am\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" error_fields:Code=unknown id=e_ADSklW745v
2024-07-14T12:41:53.716+0300 [ERROR] error event: error="cache.(RefreshService).Refresh: for user id u_Qifo7VLXaA: cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="for user id u_Qifo7VLXaA" error_fields:Op="cache.(RefreshService).Refresh" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_6N2NU4OV8G version=v0.1 op="cache.(RefreshService).Refresh"
2024-07-14T12:41:54.131+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=82 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-07-14T12:41:54.368+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshSessions" data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="sessions updated" data:deleted=0
2024-07-14T12:41:54.369+0300 [ERROR] error event: error="cache.(RefreshService).Refresh: for user id u_Qifo7VLXaA: cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_WhD9TizkpA version=v0.1 op="daemon.(refreshTicker).startRefresh"
2024-07-14T12:42:04.646+0300 [ERROR] error event: id=e_BqY9KkdFLd version=v0.1 op=cache.defaultResolvableAliasFunc error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]"
2024-07-14T12:42:04.647+0300 [ERROR] error event: op="cache.(Repository).refreshResolvableAliases" error="cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" error_fields:Code=unknown error_fields:Msg="for token \"at_7BhIcvT3am\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" id=e_qBcgoAYLDH version=v0.1
2024-07-14T12:42:04.649+0300 [ERROR] error event: error_fields:Code=unknown error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_BjyCO6YJiw version=v0.1 op="cache.(RefreshService).RefreshForSearch" error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}"
2024-07-14T12:42:04.650+0300 [ERROR] error event: version=v0.1 op=daemon.newSearchHandlerFunc info:auth_token_id=at_7BhIcvT3am info:resource=resolvable-aliases info:msg="when refreshing the resources inline for search" error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_7BhIcvT3am\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" id=e_jwtXZcwc9j
2024-07-14T12:42:04.699+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-07-14T12:42:04.703+0300 [INFO]  system event: op="cache.(Repository).refreshSessions" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="sessions updated" version=v0.1
2024-07-14T12:42:06.771+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated"

@cameron.perera seems that the cause of performance degradation is not connected with this errors

@dmitryroshchin thank you for sending that information over. I will review this and get back to you as soon as I can. Thanks again.

Since you are on a MacOS, I wanted to ask if you are using an intel chip or apple silicon.

@cameron.perera
Apple silicon, I tried both arm and amd64 desktop-clients, didn’t notice any difference

@cameron.perera Hi!
Any news on the problem?

Hi @dmitryroshchin,

There’s currently nothing obvious that stands out as to what the root issue could be unfortunately. However, we’re going to be releasing a new desktop client version soon that includes some logging which might be able to help us pinpoint what might be the underlying issue. We can let you know when it releases and we can see if anything obvious appears at that point.

Thanks for the reply @zed
But were you at least able to reproduce the issue?

No, I was not able to reproduce this issue which is why it might be necessary to wait for some more logging.

Hi @dmitryroshchin,

We just released 2.1.0 for the desktop client, can you first give that a try and see if you have the same performance issues?

@zed thanks for your response!

Nothing changed, still poor performance without sudo!

Hi @dmitryroshchin,

Sorry to hear that, do you mind running the new 2.1.0 desktop client version with this command: BOUNDARY_DESKTOP_LOG_LEVEL=debug ./Boundary.app/Contents/MacOS/Boundary

This just allows some debug level logging so we can see how long requests are taking. I’d also be curious to see the difference when you run it with sudo as well.

The logs are located at ~/Library/Logs/Boundary/desktop-client.log

Hi @zed

logs without sudo:

[2024-08-06T10:20:38.477+03:00] [info]  Boundary Desktop Client Version: 2.1.0 | Commit: fc5121c41e5d6387785e70e8a396f23d24f073ae
[2024-08-06T10:20:39.782+03:00] [info]  Boundary CLI Version: 0.17.0 | Commit: af0e89c328b9acf37925df791a85930418792cf7
[2024-08-06T10:20:42.923+03:00] [info]  Cache daemon started, status from daemon:
 2024-08-06T10:20:41.225+0300 [INFO]  system event: op="daemon.(cacheServer).printInfo"
  data:msg=
  | ==> cache configuration:
  |
  |            Listening Address: /Users/roshin/.boundary/socket/daemon.sock
  |   Max Search Refresh Timeout: 7s
  |         Max Search Staleness: 30s
  |     Recheck Support Interval: 1h0m0s
  |             Refresh Interval: 5m0s
  |                          Cgo: disabled
  |                   Log Format: standard
  |                    Log Level: info
  |                      Version: Boundary v0.17.0
  |                  Version Sha: af0e89c328b9acf37925df791a85930418792cf7
  |
  | ==> cache started! Log data will stream in below:
   version=v0.1

[2024-08-06T10:20:53.437+03:00] [debug] Search request took 262 ms { force_refresh: true, query: '', resource: 'resolvable-aliases' }
[2024-08-06T10:20:53.493+03:00] [debug] Search request took 317 ms {
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  query: '',
  resource: 'targets'
}
[2024-08-06T10:20:53.521+03:00] [debug] Search request took 345 ms {
  query: '(user_id = "u_Qifo7VLXaA") and (status = "active" or status = "pending")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'sessions'
}
[2024-08-06T10:20:55.168+03:00] [debug] Search request took 319 ms {
  query: '',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'targets'
}
[2024-08-06T10:22:59.548+03:00] [debug] Search request took 2908 ms { force_refresh: true, query: '', resource: 'resolvable-aliases' }
[2024-08-06T10:22:59.550+03:00] [debug] Search request took 2908 ms {
  query: '(user_id = "u_Qifo7VLXaA") and (status = "active" or status = "pending")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'sessions'
}
[2024-08-06T10:23:00.872+03:00] [debug] Search request took 1320 ms { force_refresh: true, query: '', resource: 'resolvable-aliases' }
[2024-08-06T10:23:00.873+03:00] [debug] Search request took 1321 ms {
  query: '(user_id = "u_Qifo7VLXaA") and (status = "active" or status = "pending")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'sessions'
}
[2024-08-06T10:23:02.174+03:00] [debug] Search request took 1300 ms {
  query: '(id % "n" or name % "n" or description % "n" or address % "n" or scope_id % "n")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'targets'
}
[2024-08-06T10:23:03.536+03:00] [debug] Search request took 1362 ms {
  query: '(id % "new" or name % "new" or description % "new" or address % "new" or scope_id % "new")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'targets'
}

logs with sudo

[2024-08-06T10:26:09.796+03:00] [info]  Boundary Desktop Client Version: 2.1.0 | Commit: fc5121c41e5d6387785e70e8a396f23d24f073ae
[2024-08-06T10:26:09.823+03:00] [info]  Boundary CLI Version: 0.17.0 | Commit: af0e89c328b9acf37925df791a85930418792cf7
[2024-08-06T10:26:10.007+03:00] [info]  Cache daemon started, status from daemon:
 2024-08-06T10:26:09.959+0300 [INFO]  system event: version=v0.1 op="daemon.(cacheServer).printInfo"
  data:msg=
  | ==> cache configuration:
  |
  |            Listening Address: /Users/roshin/.boundary/socket/daemon.sock
  |   Max Search Refresh Timeout: 7s
  |         Max Search Staleness: 30s
  |     Recheck Support Interval: 1h0m0s
  |             Refresh Interval: 5m0s
  |                          Cgo: disabled
  |                   Log Format: standard
  |                    Log Level: info
  |                      Version: Boundary v0.17.0
  |                  Version Sha: af0e89c328b9acf37925df791a85930418792cf7
  |
  | ==> cache started! Log data will stream in below:


[2024-08-06T10:26:12.399+03:00] [debug] Search request took 263 ms { force_refresh: true, query: '', resource: 'resolvable-aliases' }
[2024-08-06T10:26:12.467+03:00] [debug] Search request took 331 ms {
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  query: '',
  resource: 'targets'
}
[2024-08-06T10:26:12.477+03:00] [debug] Search request took 340 ms {
  query: '(user_id = "u_Qifo7VLXaA") and (status = "active" or status = "pending")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'sessions'
}
[2024-08-06T10:26:12.832+03:00] [debug] Search request took 318 ms {
  query: '',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'targets'
}
[2024-08-06T10:26:15.941+03:00] [debug] Search request took 274 ms { force_refresh: true, query: '', resource: 'resolvable-aliases' }
[2024-08-06T10:26:15.997+03:00] [debug] Search request took 329 ms {
  query: '(user_id = "u_Qifo7VLXaA") and (status = "active" or status = "pending")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'sessions'
}
[2024-08-06T10:26:16.356+03:00] [debug] Search request took 313 ms {
  query: '(id % "new" or name % "new" or description % "new" or address % "new" or scope_id % "new")',
  force_refresh: true,
  filter: '"/item/scope/parent_scope_id" == "o_lZWMJEQLsp"',
  resource: 'targets'
}

Hey @dmitryroshchin,

That’s very interesting, thanks for getting those logs! Could you try one more thing to help us debug this, could you try update your CLI version and try running the Boundary cache daemon yourself before running the desktop client? I’d be curious to see if running sudo for this command also makes any differences:

boundary daemon start -background -log-level=debug

Then try running the desktop client like you did above to see what the search times are like. I’d also be curious to see the logs from the cache daemon.

Hey @zed

Started deamon in foreground, because in background it started with info level despite cli flags

without sudo

The 'daemon' command is deprecated and will be removed in a future release. Please use the 'cache' command instead.
2024-08-07T12:20:12.024+0300 [INFO]  system event: op="daemon.(cacheServer).printInfo"
  data:msg=
  | ==> cache configuration:
  |
  |            Listening Address: /Users/roshin/.boundary/socket/daemon.sock
  |   Max Search Refresh Timeout: 7s
  |         Max Search Staleness: 30s
  |     Recheck Support Interval: 1h0m0s
  |             Refresh Interval: 5m0s
  |                          Cgo: disabled
  |                   Log Format: standard
  |                    Log Level: debug
  |                      Version: Boundary v0.17.0
  |                  Version Sha: af0e89c328b9acf37925df791a85930418792cf7
  |
  | ==> cache started! Log data will stream in below:
   version=v0.1
2024-08-07T12:20:24.950+0300 [DEBUG] received add-token request: request="BoundaryAddr: \"https://boundary.indrive.tech\", AuthTokenId: \"at_Ob5SHzvIpK\", AuthToken: \"at_Ob5SHzvIpK_/*redacted*/\""
2024-08-07T12:20:25.183+0300 [DEBUG] New auth token added to the cache. Initiating a cache refresh.: request="BoundaryAddr: \"https://boundary.indrive.tech\", AuthTokenId: \"at_Ob5SHzvIpK\", AuthToken: \"at_Ob5SHzvIpK_/*redacted*/\""
2024-08-07T12:20:25.184+0300 [DEBUG] refreshing user: user=u_Qifo7VLXaA
2024-08-07T12:20:25.456+0300 [ERROR] error event: op=cache.defaultResolvableAliasFunc error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" error_fields:Code=unknown error_fields:Msg="" id=e_YI9qhQXjjt version=v0.1
2024-08-07T12:20:25.457+0300 [ERROR] error event: op="cache.(Repository).refreshResolvableAliases" error="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" error_fields:Code=unknown error_fields:Msg="for token \"at_Ob5SHzvIpK\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" id=e_v68KWAZTJr version=v0.1
2024-08-07T12:20:25.458+0300 [ERROR] error event: error="cache.(RefreshService).Refresh: for user id u_Qifo7VLXaA: cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Msg="for user id u_Qifo7VLXaA" error_fields:Op="cache.(RefreshService).Refresh" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown id=e_7oB8eJ9SjK version=v0.1 op="cache.(RefreshService).Refresh"
2024-08-07T12:20:25.876+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=138 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-08-07T12:20:26.136+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshSessions" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="sessions updated"
2024-08-07T12:20:26.136+0300 [ERROR] error event: version=v0.1 op="daemon.(refreshTicker).startRefresh" error="cache.(RefreshService).Refresh: for user id u_Qifo7VLXaA: cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_9UvHxRh9eP
2024-08-07T12:20:35.607+0300 [DEBUG] refreshing aliases before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:20:35.611+0300 [DEBUG] refreshing sessions before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:20:35.621+0300 [DEBUG] refreshing targets before performing search: user=u_Qifo7VLXaA force refresh=true target staleness=9.745754s
2024-08-07T12:20:35.803+0300 [ERROR] error event: error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" id=e_SsuWb9xnyo version=v0.1 op=cache.defaultResolvableAliasFunc
2024-08-07T12:20:35.803+0300 [ERROR] error event: error_fields:Code=unknown error_fields:Msg="for token \"at_Ob5SHzvIpK\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" id=e_DWh1EaRShL version=v0.1 op="cache.(Repository).refreshResolvableAliases" error="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}"
2024-08-07T12:20:35.804+0300 [ERROR] error event: error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" id=e_eP7cUZL59K version=v0.1 op="cache.(RefreshService).RefreshForSearch"
2024-08-07T12:20:35.805+0300 [ERROR] error event: id=e_j3onmxRVrt version=v0.1 op=daemon.newSearchHandlerFunc info:msg="when refreshing the resources inline for search" info:auth_token_id=at_Ob5SHzvIpK info:resource=resolvable-aliases error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg=""
2024-08-07T12:20:35.856+0300 [INFO]  system event: op="cache.(Repository).refreshSessions" data:user_id=u_Qifo7VLXaA data:msg="sessions updated" data:deleted=0 data:upserted=0 version=v0.1
2024-08-07T12:20:35.898+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-08-07T12:20:37.327+0300 [DEBUG] refreshing targets before performing search: user=u_Qifo7VLXaA force refresh=true target staleness=1.42907s
2024-08-07T12:20:37.594+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-08-07T12:20:45.162+0300 [DEBUG] refreshing sessions before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:20:45.163+0300 [DEBUG] refreshing aliases before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:20:45.375+0300 [ERROR] error event: error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" id=e_Rl5gu87xqk version=v0.1 op=cache.defaultResolvableAliasFunc
2024-08-07T12:20:45.375+0300 [ERROR] error event: error="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" error_fields:Code=unknown error_fields:Msg="for token \"at_Ob5SHzvIpK\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" id=e_6PHS4gmK4h version=v0.1 op="cache.(Repository).refreshResolvableAliases"
2024-08-07T12:20:45.376+0300 [ERROR] error event: error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_UhdxmEMnMj version=v0.1 op="cache.(RefreshService).RefreshForSearch"
2024-08-07T12:20:45.376+0300 [ERROR] error event: op=daemon.newSearchHandlerFunc info:auth_token_id=at_Ob5SHzvIpK info:resource=resolvable-aliases info:msg="when refreshing the resources inline for search" error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_Ob5SHzvIpK\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown id=e_3YcvqqyTL3 version=v0.1
2024-08-07T12:20:45.444+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshSessions" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="sessions updated"
2024-08-07T12:20:46.855+0300 [DEBUG] refreshing targets before performing search: user=u_Qifo7VLXaA force refresh=true target staleness=9.262567s
2024-08-07T12:20:47.122+0300 [INFO]  system event: op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated" version=v0.1

with sudo

The 'daemon' command is deprecated and will be removed in a future release. Please use the 'cache' command instead.
2024-08-07T12:05:05.138+0300 [INFO]  system event: version=v0.1 op="daemon.(cacheServer).printInfo"
  data:msg=
  | ==> cache configuration:
  |
  |            Listening Address: /Users/roshin/.boundary/socket/daemon.sock
  |   Max Search Refresh Timeout: 7s
  |         Max Search Staleness: 30s
  |     Recheck Support Interval: 1h0m0s
  |             Refresh Interval: 5m0s
  |                          Cgo: disabled
  |                   Log Format: standard
  |                    Log Level: debug
  |                      Version: Boundary v0.17.0
  |                  Version Sha: af0e89c328b9acf37925df791a85930418792cf7
  |
  | ==> cache started! Log data will stream in below:

2024-08-07T12:05:12.127+0300 [DEBUG] received add-token request: request="BoundaryAddr: \"https://boundary.indrive.tech\", AuthTokenId: \"at_07aZR4Jibo\", AuthToken: \"at_07aZR4Jibo_/*redacted*/\""
2024-08-07T12:05:12.352+0300 [DEBUG] New auth token added to the cache. Initiating a cache refresh.: request="BoundaryAddr: \"https://boundary.indrive.tech\", AuthTokenId: \"at_07aZR4Jibo\", AuthToken: \"at_07aZR4Jibo_/*redacted*/\""
2024-08-07T12:05:12.353+0300 [DEBUG] refreshing user: user=u_Qifo7VLXaA
2024-08-07T12:05:12.627+0300 [ERROR] error event: error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" error_fields:Code=unknown error_fields:Msg="" id=e_Hw444BRICy version=v0.1 op=cache.defaultResolvableAliasFunc
2024-08-07T12:05:12.627+0300 [ERROR] error event: error="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="for token \"at_07aZR4Jibo\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" id=e_ty6ItyoT4W version=v0.1 op="cache.(Repository).refreshResolvableAliases"
2024-08-07T12:05:12.627+0300 [ERROR] error event: version=v0.1 op="cache.(RefreshService).Refresh" error="cache.(RefreshService).Refresh: for user id u_Qifo7VLXaA: cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="for user id u_Qifo7VLXaA" error_fields:Op="cache.(RefreshService).Refresh" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_T7R2foiHfM
2024-08-07T12:05:13.011+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=138 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-08-07T12:05:13.250+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshSessions" data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="sessions updated" data:deleted=0
2024-08-07T12:05:13.250+0300 [ERROR] error event: id=e_CrG4OqGAcE version=v0.1 op="daemon.(refreshTicker).startRefresh" error="cache.(RefreshService).Refresh: for user id u_Qifo7VLXaA: cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}"
2024-08-07T12:05:13.455+0300 [DEBUG] refreshing sessions before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:05:13.455+0300 [DEBUG] refreshing targets before performing search: user=u_Qifo7VLXaA force refresh=true target staleness=444.721ms
2024-08-07T12:05:13.456+0300 [DEBUG] refreshing aliases before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:05:13.656+0300 [ERROR] error event: error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" id=e_FlBSS02TPF version=v0.1 op=cache.defaultResolvableAliasFunc
2024-08-07T12:05:13.657+0300 [ERROR] error event: error="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="for token \"at_07aZR4Jibo\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]" id=e_aBa6zvWhYW version=v0.1 op="cache.(Repository).refreshResolvableAliases"
2024-08-07T12:05:13.658+0300 [ERROR] error event: error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_g275brfR4q version=v0.1 op="cache.(RefreshService).RefreshForSearch"
2024-08-07T12:05:13.658+0300 [ERROR] error event: id=e_QLOpTfqRJ5 version=v0.1 op=daemon.newSearchHandlerFunc info:auth_token_id=at_07aZR4Jibo info:resource=resolvable-aliases info:msg="when refreshing the resources inline for search" error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg=""
2024-08-07T12:05:13.703+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated"
2024-08-07T12:05:13.716+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshSessions" data:user_id=u_Qifo7VLXaA data:msg="sessions updated" data:deleted=0 data:upserted=0
2024-08-07T12:05:13.806+0300 [DEBUG] refreshing targets before performing search: user=u_Qifo7VLXaA force refresh=true target staleness=104.481ms
2024-08-07T12:05:14.051+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated" data:deleted=0
2024-08-07T12:05:17.084+0300 [DEBUG] refreshing aliases before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:05:17.084+0300 [DEBUG] refreshing sessions before performing search: user=u_Qifo7VLXaA force refresh=true
2024-08-07T12:05:17.272+0300 [ERROR] error event: version=v0.1 op=cache.defaultResolvableAliasFunc error="cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Op=cache.defaultResolvableAliasFunc error_fields:Wrapped="map[kind:PermissionDenied message:Forbidden.]" error_fields:Code=unknown error_fields:Msg="" id=e_9p8CPPttDm
2024-08-07T12:05:17.272+0300 [ERROR] error event: id=e_rclhhSBtr7 version=v0.1 op="cache.(Repository).refreshResolvableAliases" error="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="for token \"at_07aZR4Jibo\"" error_fields:Op="cache.(Repository).refreshResolvableAliases" error_fields:Wrapped="map[Code:unknown Msg: Op:cache.defaultResolvableAliasFunc Wrapped:map[kind:PermissionDenied message:Forbidden.]]"
2024-08-07T12:05:17.273+0300 [ERROR] error event: error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_r2LYzn5MwP version=v0.1 op="cache.(RefreshService).RefreshForSearch"
2024-08-07T12:05:17.273+0300 [ERROR] error event: error="cache.(RefreshService).RefreshForSearch: cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" error_fields:Code=unknown error_fields:Msg="" error_fields:Op="cache.(RefreshService).RefreshForSearch" error_fields:Wrapped="cache.(Repository).refreshResolvableAliases: for token \"at_07aZR4Jibo\": cache.defaultResolvableAliasFunc: unknown, unknown: error #0: {\"kind\":\"PermissionDenied\",\"message\":\"Forbidden.\"}" id=e_suoAiaxmAS version=v0.1 op=daemon.newSearchHandlerFunc info:auth_token_id=at_07aZR4Jibo info:resource=resolvable-aliases info:msg="when refreshing the resources inline for search"
2024-08-07T12:05:17.347+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshSessions" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="sessions updated"
2024-08-07T12:05:17.441+0300 [DEBUG] refreshing targets before performing search: user=u_Qifo7VLXaA force refresh=true target staleness=3.390966s
2024-08-07T12:05:17.680+0300 [INFO]  system event: version=v0.1 op="cache.(Repository).refreshTargets" data:deleted=0 data:upserted=0 data:user_id=u_Qifo7VLXaA data:msg="targets updated"

Hi @dmitryroshchin,

Did you happen to notice any difference in search speeds using the desktop client depending on how you started the daemon?

If there is any difference it is unnoticeable, very slow in both cases if client is run without sudo

Hi @dmitryroshchin

Another follow-up question: if you authenticate through the CLI and do boundary search directly in the CLI is there a noticeable time difference when using sudo vs not using sudo ?