Skip to content

Profile not correct with SpringBoot 2.4.1 + Ilford 2020.0.0 (working with 2.4.1 + Ilford 2020.0.0-RC1)Β #1777

Closed

Description

@patpatpat123

Hello Spring Cloud Config Team,

Maybe a small bug with Ilford 2020.0.0 and SpringBoot 2.4.1
With a web app, 2.4.1 + Ilford 2020.0.0-RC1, the properties are being picked up correctly at client side.
When the client starts, I do see below logs, very happy πŸ˜ƒ

[           main] c.a.Application            : The following profiles are active: my-env
[           main] o.s.b.context.config.ConfigDataLoader    : Fetching config from server at : https://my-service/config
[           main] o.s.b.context.config.ConfigDataLoader    : Located environment: name=myservice, profiles=[my-env], label=null, version=7f95facc49b97272a0a3915650b12e56ea7440bf, state=null


[           main] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource configserver:https://my-git/myservice-my-env.properties [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper

note profiles=[my-env]

However, same code, just one change, Ilford 2020.0.0-RC1 -> Ilford 2020.0.0, the properties are not being picked up.
On startup, I am seeing the following instead:

[           main] c.a.Application            : The following profiles are active: my-env
[           main] o.s.b.context.config.ConfigDataLoader    : Fetching config from server at : https://my-service/config
[           main] o.s.b.context.config.ConfigDataLoader    : Located environment: name=myservice, profiles=[default], label=null, version=7f95facc49b97272a0a3915650b12e56ea7440bf, state=null

[           main] c.u.j.EncryptablePropertySourceConverter : Converting PropertySource Config resource 'class path resource [application.properties]' via location 'optional:classpath:/' [org.springframework.boot.env.OriginTrackedMapPropertySource] to EncryptableMapPropertySourceWrapper

And then again reverted back to 2020.0.0-RC1, and working.
May I ask what is the root cause of this issue please?

Thank you

Activity

  1. dnijssen commented on Dec 23, 2020

    @dnijssen

    I just encountered the same issue, and created a reproduction path for @spencergibb and his team -> https://github.com/dnijssen/config-server-client . Seems to be a regression issue to me, as I can confirm it did indeed work with 2020.0.0-RC1

  2. spencergibb commented on Dec 23, 2020

    @spencergibb
    Member

    As a workaround to get the config client to send the right profile, set spring.cloud.config.profile to the same values as spring.profiles.active.

  3. added this to the 3.0.1 milestone on Dec 23, 2020
  4. spencergibb commented on Dec 23, 2020

    @spencergibb
    Member

    There is a second issue in config server where the names of the property sources are the same, so Default still gets returned because the correct property source gets overridden.

    {
      "name": "config-client",
      "profiles": [
        "test"
      ],
      "label": null,
      "version": null,
      "state": null,
      "propertySources": [
        {
          "name": "class path resource [config/config-client.yaml",
          "source": {
            "spring.config.activate.on-profile": "test",
            "config-client.test": "Test"
          }
        },
        {
          "name": "class path resource [config/config-client.yaml",
          "source": {
            "config-client.test": "Default"
          }
        }
      ]
    }
  5. dnijssen commented on Dec 23, 2020

    @dnijssen

    Ty for the workaround! I can indeed confirm the second issue as well :) Would you be able to convert that one into a seperate issue yourself? As you might be able better to describe it.

  6. ncioj10 commented on Jan 8, 2021

    @ncioj10

    Where to apply these workarounds? To me it seems that the configserver pull is completely broken. For me it doesn't even work with legacy processing. It just doesn't pull the files with in application.properties and bootstrap.properties.
    The documentation is very confusing regarding this, it would be good to have that in a central place as currently it is not clear how to upgrade.

    spring.application.name=current-service
    spring.cloud.config.uri=http://localhost:8888
    spring.config.use-legacy-processing=true
    
  7. spencergibb commented on Jan 11, 2021

    @spencergibb
    Member
  8. added a commit that references this issue on Feb 29, 2024
    ccb32d2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions