Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 feat: Permit mapper plugins as valid blocks by ReubenFrankel · Pull Request #9105 · meltano/meltano · GitHub
Nothing Special   »   [go: up one dir, main page]

Skip to content

Conversation

ReubenFrankel
Copy link
Contributor
@ReubenFrankel ReubenFrankel commented Feb 24, 2025

Description

Removes the

block violates set requirements: Expected unique mappings name not the mapper plugin name:

error message to optimistically allow mappers to be invoked directly, without having to instead reference a mapping.

As far as I see it, a mapping is just aliased config for mapper plugins. Some mappers will only ever need to perform a single function, so it doesn't makes sense to define a mapping in that case - you may as well just invoke the mapper directly; which is what this PR is addressing. For meltano-map-transformer and similar, I believe there is still value in mappings as it prevents you having to inherit_from a base meltano-map-transformer to define your reusable mappings (although I think they are functionally the same) - i.e.

plugins:
  mappers:
  - name: meltano-map-transformer
    variant: meltano
    pip_url: meltano-map-transform
    mappings:
    - name: all-caps
      config:
        stream_maps:
          '*':
            __alias__: __stream_name__.upper()
    - name: no-caps
      config:
        stream_maps:
          '*':
            __alias__: __stream_name__.lower()

and

plugins:
  mappers:
  - name: meltano-map-transformer
    variant: meltano
    pip_url: meltano-map-transform
  - name: all-caps
    inherit_from: meltano-map-transformer
    config:
      stream_maps:
        '*':
          __alias__: __stream_name__.upper()
  - name: no-caps
    inherit_from: meltano-map-transformer
    config:
      stream_maps:
        '*':
          __alias__: __stream_name__.lower()

Related Issues

Copy link
netlify bot commented Feb 24, 2025

Deploy Preview for meltano ready!

Name Link
🔨 Latest commit 6f4f5d7
🔍 Latest deploy log https://app.netlify.com/projects/meltano/deploys/68b639ea694dac0008181e55
😎 Deploy Preview https://deploy-preview-9105--meltano.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@ReubenFrankel ReubenFrankel changed the title Permit mapper plugins as valid blocks feat: Permit mapper plugins as valid blocks Feb 24, 2025
@ReubenFrankel
Copy link
Contributor Author
ReubenFrankel commented Feb 26, 2025

@edgarrmondragon Should we just remove the portion of the failing test_run_mapper_config test that checks for an exception on mapper/mapping collision (https://github.com/meltano/meltano/actions/runs/13532529659/job/37817760752?pr=9105#step:12:2257), or is there something better we can do?

@edgarrmondragon
Copy link
Collaborator

@edgarrmondragon Should we just remove the portion of the failing test_run_mapper_config test that checks for an exception on mapper/mapping collision (https://github.com/meltano/meltano/actions/runs/13532529659/job/37817760752?pr=9105#step:12:2257), or is there something better we can do?

We probably just need to remove that test.

@ReubenFrankel
Copy link
Contributor Author

@edgarrmondragon Should we just remove the portion of the failing test_run_mapper_config test that checks for an exception on mapper/mapping collision (https://github.com/meltano/meltano/actions/runs/13532529659/job/37817760752?pr=9105#step:12:2257), or is there something better we can do?

We probably just need to remove that test.

I removed the part of the test in 96fd5a4. I updated a separate part in d4047a9 to assert an AmbiguousMappingName error raised when a mapper plugin name and mapping name conflict, but couldn't find where to apply the change to meet that expectation. Unless you were talking about removing the whole test?

@edgarrmondragon
Copy link
Collaborator

Unless you were talking about removing the whole test?

I think this is definitely easier, so I'm OK with taking that path.

Copy link
codecov bot commented Mar 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.47%. Comparing base (9a726a2) to head (6f4f5d7).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #9105   +/-   ##
=======================================
  Coverage   95.47%   95.47%           
=======================================
  Files         259      259           
  Lines       21374    21388   +14     
  Branches     1291     1293    +2     
=======================================
+ Hits        20406    20420   +14     
  Misses        775      775           
  Partials      193      193           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@edgarrmondragon
Copy link
Collaborator

Trying to think what unexpected behavior this might cause for users, but can't think of any 🤔

@ReubenFrankel
Copy link
Contributor Author

Trying to think what unexpected behavior this might cause for users, but can't think of any 🤔

There is no check for conflicts between mapper plugin name and mapping name. I don't actually know which one it is resolving here:

meltano.yml

  - name: mapper-fivetran
    variant: matatika
    pip_url: git+https://github.com/Matatika/mapper-fivetran.git
    mappings:
    - name: mapper-fivetran
meltano invoke mapper-fivetran
meltano run <tap> mapper-fivetran <target>

This is what I was talking about above:

I updated a separate part in d4047a9 to assert an AmbiguousMappingName error raised when a mapper plugin name and mapping name conflict, but couldn't find where to apply the change to meet that expectation

@tayloramurphy tayloramurphy removed the request for review from WillDaSilva August 7, 2025 01:20
Copy link
Collaborator
@edgarrmondragon edgarrmondragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The mapper-level config doesn't seem to be used and instead the last found mapping's is used 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0