Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [config-dev] [External] : Re: Config Source SPI options
  • From: Tomas Langer <tomas.langer@xxxxxxxxxx>
  • Date: Thu, 5 Aug 2021 12:46:30 +0000
  • Accept-language: cs-CZ, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wx5PhKmHAqp7TBonjYBqDne4yml8l8Fn1izz1vQ9HPE=; b=iezSmoqyKLlt/wmTaaBMzgOUPHe6mYTEq6G6i8SX+QWOf5dnke7R9hMr4lIYbo7e5UmXQOeiHmkm06ApWaP3gyJgXTt2WFQveUc04qsFgSo9dmxAh2vq4d2Mct+HoB5+Yjs970XKjVWaSynS7Iqi1oYw788FB0xwoi5U3OnOCPOH0VZAcTXv4Vap5z5cs+Vu7Y8C51ynvDK2IfqdPRBrGBIYxIUTydtVnAzmn0n0BVG//n7yrJYlvJnj70IFoqkffs3a7LIiRZECJX5W2djQukAUWNLm7dFawGMO0CRTBGd4nrHZF056k5qwJNV4PvifGGCglDnpDnyrjaN1UVdqGg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dZeGwDxXX3edlKum8qbj13c3dwv66Ic9mNNapzq1z9Fe6vGOEYGw4lyaDtZQcQULmXb6QlZj5SWkKsDUpTxLnvQbNuPuwbnHBM9W/wD+0fGzU2aOvxOfwsFZWOOtw+UxhDELryJeL9HDHnx42ziEkEemmkuhJ9/2jv13n2dk9dqiquodbu8SxSWnHEUFZPHIlp7bklav7UKf+csojj9iNL1HGNCH83yvjRKrsJH4DryNpugtC3S2jL/AQxkDOOolyANYnxjQBrk3bCOyxVaBq4E8pbhwNh4EP0kzwYeI1i3J/yZRyXfXEwC8OA3q4z4iDwlsybefjdfoXcf/E5TW1w==
  • Delivered-to: config-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/config-dev/>
  • List-help: <mailto:config-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/config-dev>, <mailto:config-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/config-dev>, <mailto:config-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: AQHXfxqya+q308HBdU+L24TsSTQGuatk0AgAgAAhlQA=
  • Thread-topic: [External] : Re: [config-dev] Config Source SPI options


> On 5 Aug 2021, at 12:46, Mark Struberg <struberg@xxxxxxxxxx> wrote:
> 
> Hi Thomas et al!
> 
> 
> Agree with Section "Config Source SPI" and good thoughts in "Content Type".
> 
> 
> Ad "Eagerness": What do you mean with 'lazy sources'? ConfigSources added at runtime? Or the content (key/value) added/changed at runtime? Whenever you have something like a config served by a Database or a remote server then you will hit the later.
> 
Lazy source: a source that cannot list the full set of provided options. E.g. you need to request a key to find out if it exists or not.
> 
> Ad "Mutability". If we do not support mutable config we loose a lot of use cases.
> 
>> Such a solution cannot use any caching on Config implementation
> 
> Not really true. Look at DeltaSpike Config. The 'last modified' allows for rather good caching and fast cache eviction. Of course it's a bit tricky
What is last modified? Is that specific too DeltaSpike? If your source can provide such information, it is definitely good - but I do not see this in the current MP spec, which I use as the API/SPI I check against. Question would be if a source is capable of providing such information for all its configuration keys, or if that may be limited to a single key.
> 
>> this also allows for inconsistent configuration (if you load two keys in sequence, each from a different version of underlying source)
> 
> The 'ConfigValue' solution did solve this but I understand that it's really too complicated. Resolving a POJO config could way easier be guaranteed to be atomic.
Resolving a pojo does not help, if config queries each source for each property. You would need to have a method on config source that provides more than one value “atomically"
> 
>> Mutability supported by config - config understands mutability options and each config source declares what kind of mutability it supports.
> 
> I'd need more info what you have in mind. First thought is that the evaluation rules might be a tad complex.
The rules are a bit complex - e.g. you know that the first source is mutable, second immutable etc. you would be able to optimise property lookup.
> 
> 
> LieGrue,
> strub
> 
> 
> 
> Am 22.07.21 um 18:57 schrieb Tomas Langer:
>> After today’s discussion on the meeting, I have written a document with various options for config sources - https://urldefense.com/v3/__https://docs.google.com/document/d/1faUyGMEzwOp9vio8IvHpl5Vcyqg-v3iQCFTV19BxF5Y/edit?usp=sharing__;!!ACWV5N9M2RV99hQ!bNxAxwaxvCZa9Aa3DcP0IN21JNiI2Jds0DyT7GmioGuNpynvxyzemsXNBtQ4kdg6xQ$ .
>> It outlines all the options that config source (theoretically) can have, and main decisions we are facing (and an attempt to describe some impact of those decisions).
>> 
>> The shape of SPI will change quite heavily depending on our choices, so we should understand what we want before we design them.
>> 
>> 
>> 
>> Tomas
>> _______________________________________________
>> config-dev mailing list
>> config-dev@xxxxxxxxxxx
>> To unsubscribe from this list, visit https://urldefense.com/v3/__https://accounts.eclipse.org__;!!ACWV5N9M2RV99hQ!bNxAxwaxvCZa9Aa3DcP0IN21JNiI2Jds0DyT7GmioGuNpynvxyzemsXNBtQVshQFZA$ 
> _______________________________________________
> config-dev mailing list
> config-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit https://urldefense.com/v3/__https://accounts.eclipse.org__;!!ACWV5N9M2RV99hQ!bNxAxwaxvCZa9Aa3DcP0IN21JNiI2Jds0DyT7GmioGuNpynvxyzemsXNBtQVshQFZA$ 


Back to the top