You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am seeing 2 sync read file access in environment service right from the constructor and we use this thing both in each window that opens and the main side. So everyone pays the price of resolving these properties over and over.
I think these properties are special and only used for certain corner cases but not important on the critical startup path. Can we
a) put them into the process environment from the main side to pay this cost only once
or
b) resolve them only when actually needed and/or make the resolution async
The text was updated successfully, but these errors were encountered:
bpasero
changed the title
Environment service: sync access to 2 files from ctor
Environment service: sync read access to 2 files from ctor
Nov 23, 2017
I've changed the getCommonHttpHeaders thing to simply use a UUID which we store after generating it. Getmac won't be called anymore. Unfortunately this is still happening on startup in a sync fashion. The reason for this is that we don't have an atomic storage mechanism across all processes. If we don't generate it sync on startup, we might have 2 processes generating 2 different UUIDs. The mitigation for this is to use a single machineid file for this in user data. This will make reading and writing to this file extremely fast.
Option (a) doesn't work because then the waterfall happens #17108.
Option (b) doesn't work because there is no atomic storage across processes...
bpasero
changed the title
Environment service: sync read access to 2 files from ctor
Environment service: sync read access to UUID file on startup
Dec 1, 2017
I am seeing 2 sync read file access in environment service right from the constructor and we use this thing both in each window that opens and the main side. So everyone pays the price of resolving these properties over and over.
I think these properties are special and only used for certain corner cases but not important on the critical startup path. Can we
a) put them into the process environment from the main side to pay this cost only once
or
b) resolve them only when actually needed and/or make the resolution async
The text was updated successfully, but these errors were encountered: