Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bugfix: coalesceFindRequests should work with non native Adapter classes #7448

Merged
merged 7 commits into from
Apr 9, 2021

Conversation

snewcomer
Copy link
Contributor

@snewcomer snewcomer commented Apr 1, 2021

This PR ensures that a user with non native class Adapter will be able to define their own coalesceFindRequests field.

Will patch to release and beta.

close #7438

ref #7358

@snewcomer snewcomer added the Bug label Apr 1, 2021
@snewcomer snewcomer self-assigned this Apr 1, 2021
@github-actions
Copy link

github-actions bot commented Apr 1, 2021

Performance Report for 90b02d8

Relationship Analysis
                        -------------

__/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
 _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
  _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
   _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
     _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
      _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
       _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
        _\///______________\///______________\///__\///////////////__


                          Runtime Edition

        PM2 is a Production Process Manager for Node.js applications
                     with a built-in Load Balancer.

                Start and Daemonize any application:
                $ pm2 start app.js

                Load Balance 4 instances of api.js:
                $ pm2 start api.js -i 4

                Monitor in production:
                $ pm2 monitor

                Make pm2 auto-boot at server restart:
                $ pm2 startup

                To go further checkout:
                http://pm2.io/


                        -------------

[PM2] Spawning PM2 daemon with pm2_home=/home/runner/.pm2
[PM2] PM2 Successfully daemonized
[PM2] Starting /home/runner/work/data/data/bin/relationship-performance-tracking/src/har-remix.js in fork_mode (1 instance)
[PM2] Done.
┌─────┬────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name       │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ control    │ default     │ N/A     │ fork    │ 1838     │ 0s     │ 0    │ online    │ 0%       │ 30.9mb   │ runner   │ disabled │
└─────┴────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
[PM2] Starting /home/runner/work/data/data/bin/relationship-performance-tracking/src/har-remix.js in fork_mode (1 instance)
[PM2] Done.
┌─────┬───────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id  │ name          │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├─────┼───────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0   │ control       │ default     │ N/A     │ fork    │ 1838     │ 0s     │ 0    │ online    │ 0%       │ 72.4mb   │ runner   │ disabled │
│ 1   │ experiment    │ default     │ N/A     │ fork    │ 1863     │ 0s     │ 0    │ online    │ 0%       │ 23.3mb   │ runner   │ disabled │
└─────┴───────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
01-materialization: computing results...

===============================================================================
Processing CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md README.md RELEASE.md bin lerna.json node_modules package.json packages tmp tsconfig.json yarn.lock
[PM2] Applying action deleteProcessId on app [all](ids: [ 0, 1 ])
[PM2] [control](0) ✓
[PM2] [experiment](1) ✓
[PM2] [v] All Applications Stopped
[PM2] [v] PM2 Daemon Stopped

@github-actions
Copy link

github-actions bot commented Apr 1, 2021

Asset Size Report for 90b02d8

IE11 Builds

The size of the library EmberData has increased by 438.0 B (9.0 B compressed) which exceeds the failure threshold of 75 bytes.

Warnings

The uncompressed size of the package @ember-data/adapter has increased by 438.0 B.

Changeset


EmberData 161.42 KB +438.0 B (34.63 KB +9.0 B compressed)
    @ember-data/adapter 16.02 KB +438.0 B (3.44 KB +9.0 B compressed)
        @ember-data/adapter/rest 8.37 KB +146.0 B (1.79 KB +3.0 B compressed)
        @ember-data/adapter/index 1.14 KB +146.0 B (249.71 B +3.0 B compressed)
        @ember-data/adapter/json-api 1.02 KB +146.0 B (223.75 B +3.0 B compressed)

Full Asset Analysis (IE11)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '161.42 KB' │
│ compressed │ '34.63 KB'  │
│  packages  │      9      │
│  modules   │     45      │
└────────────┴─────────────┘

Package: @ember-data/store
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '70.07 KB' │
│  compressed  │ '15.03 KB' │
│ % Of Library │   '43.4'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/store/-private                        | 69.16 KB  | 14.84 KB   | 98.7          | 42.8
	@ember-data/store/index                           | 936.00 B  | 200.79 B   | 1.3           | 0.6

Package: @ember-data/record-data
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '22.65 KB' │
│  compressed  │ '4.86 KB'  │
│ % Of Library │   '14.0'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/record-data/-private                  | 22.65 KB  | 4.86 KB    | 100.0         | 14.0

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '19.37 KB' │
│  compressed  │ '4.15 KB'  │
│ % Of Library │   '12.0'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                       | 7.12 KB   | 1.53 KB    | 36.8          | 4.4
	@ember-data/serializer/-private                   | 5.37 KB   | 1.15 KB    | 27.7          | 3.3
	@ember-data/serializer/json-api                   | 3.72 KB   | 816.49 B   | 19.2          | 2.3
	@ember-data/serializer/rest                       | 2.71 KB   | 595.96 B   | 14.0          | 1.7
	@ember-data/serializer/index                      | 243.00 B  | 52.13 B    | 1.2           | 0.1
	@ember-data/serializer/transform                  | 215.00 B  | 46.12 B    | 1.1           | 0.1

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '16.02 KB' │
│  compressed  │ '3.44 KB'  │
│ % Of Library │   '9.9'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                          | 8.37 KB   | 1.79 KB    | 52.2          | 5.2
	@ember-data/adapter/-private                      | 3.58 KB   | 787.32 B   | 22.4          | 2.2
	@ember-data/adapter/error                         | 1.91 KB   | 420.26 B   | 11.9          | 1.2
	@ember-data/adapter/index                         | 1.14 KB   | 249.71 B   | 7.1           | 0.7
	@ember-data/adapter/json-api                      | 1.02 KB   | 223.75 B   | 6.4           | 0.6

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '13.59 KB' │
│  compressed  │ '2.92 KB'  │
│ % Of Library │   '8.4'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/model/-private                        | 13.12 KB  | 2.81 KB    | 96.5          | 8.1
	@ember-data/model/index                           | 486.00 B  | 104.26 B   | 3.5           | 0.3

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '9.28 KB' │
│  compressed  │ '1.99 KB' │
│ % Of Library │   '5.8'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 2.32 KB   | 510.36 B   | 25.0          | 1.4
	ember-data/-private                               | 2.02 KB   | 444.71 B   | 21.8          | 1.3
	ember-data/adapters/errors                        | 1.19 KB   | 261.08 B   | 12.8          | 0.7
	ember-data/setup-container                        | 503.00 B  | 107.90 B   | 5.3           | 0.3
	ember-data/relationships                          | 318.00 B  | 68.22 B    | 3.3           | 0.2
	ember-data/serializers/embedded-records-mixin     | 274.00 B  | 58.78 B    | 2.9           | 0.2
	ember-data/serializers/json-api                   | 251.00 B  | 53.84 B    | 2.6           | 0.2
	ember-data/adapters/json-api                      | 245.00 B  | 52.55 B    | 2.6           | 0.1
	ember-data/serializers/json                       | 243.00 B  | 52.13 B    | 2.6           | 0.1
	ember-data/serializers/rest                       | 243.00 B  | 52.13 B    | 2.6           | 0.1
	ember-data/transform                              | 241.00 B  | 51.70 B    | 2.5           | 0.1
	ember-data/adapters/rest                          | 237.00 B  | 50.84 B    | 2.5           | 0.1
	ember-data/serializer                             | 232.00 B  | 49.77 B    | 2.4           | 0.1
	ember-data/adapter                                | 226.00 B  | 48.48 B    | 2.4           | 0.1
	ember-data/model                                  | 222.00 B  | 47.62 B    | 2.3           | 0.1
	ember-data/store                                  | 222.00 B  | 47.62 B    | 2.3           | 0.1
	ember-data/attr                                   | 218.00 B  | 46.76 B    | 2.3           | 0.1
	ember-data/version                                | 162.00 B  | 34.75 B    | 1.7           | 0.1

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '6.66 KB' │
│  compressed  │ '1.43 KB' │
│ % Of Library │   '4.1'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 2.88 KB   | 632.64 B   | 43.3          | 1.8
	ember-inflector/lib/system/inflections            | 1.59 KB   | 349.03 B   | 23.9          | 1.0
	ember-inflector/index                             | 473.00 B  | 101.47 B   | 6.9           | 0.3
	ember-inflector/lib/system                        | 471.00 B  | 101.04 B   | 6.9           | 0.3
	ember-inflector/lib/helpers/pluralize             | 373.00 B  | 80.01 B    | 5.5           | 0.2
	ember-inflector/lib/system/string                 | 318.00 B  | 68.21 B    | 4.7           | 0.2
	ember-inflector/lib/utils/make-helper             | 308.00 B  | 66.07 B    | 4.5           | 0.2
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 63.50 B    | 4.3           | 0.2

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.70 KB'  │
│  compressed  │ '593.17 B' │
│ % Of Library │   '1.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.21 KB   | 486.12 B   | 82.0          | 1.4
	@ember-data/debug/setup                           | 499.00 B  | 107.04 B   | 18.0          | 0.3

Package: @ember/ordered-set
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '1.08 KB'  │
│  compressed  │ '236.62 B' │
│ % Of Library │   '0.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember/ordered-set/index                          | 1.08 KB   | 236.62 B   | 100.0         | 0.7

Modern Builds

The size of the library EmberData has increased by 438.0 B (9.0 B compressed) which exceeds the failure threshold of 75 bytes.

Warnings

The uncompressed size of the package @ember-data/adapter has increased by 438.0 B.

Changeset


EmberData 161.42 KB +438.0 B (34.63 KB +9.0 B compressed)
    @ember-data/adapter 16.02 KB +438.0 B (3.44 KB +9.0 B compressed)
        @ember-data/adapter/rest 8.37 KB +146.0 B (1.79 KB +3.0 B compressed)
        @ember-data/adapter/index 1.14 KB +146.0 B (249.71 B +3.0 B compressed)
        @ember-data/adapter/json-api 1.02 KB +146.0 B (223.75 B +3.0 B compressed)

Full Asset Analysis (Modern)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '161.42 KB' │
│ compressed │ '34.63 KB'  │
│  packages  │      9      │
│  modules   │     45      │
└────────────┴─────────────┘

Package: @ember-data/store
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '70.07 KB' │
│  compressed  │ '15.03 KB' │
│ % Of Library │   '43.4'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/store/-private                        | 69.16 KB  | 14.84 KB   | 98.7          | 42.8
	@ember-data/store/index                           | 936.00 B  | 200.79 B   | 1.3           | 0.6

Package: @ember-data/record-data
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '22.65 KB' │
│  compressed  │ '4.86 KB'  │
│ % Of Library │   '14.0'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/record-data/-private                  | 22.65 KB  | 4.86 KB    | 100.0         | 14.0

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '19.37 KB' │
│  compressed  │ '4.15 KB'  │
│ % Of Library │   '12.0'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                       | 7.12 KB   | 1.53 KB    | 36.8          | 4.4
	@ember-data/serializer/-private                   | 5.37 KB   | 1.15 KB    | 27.7          | 3.3
	@ember-data/serializer/json-api                   | 3.72 KB   | 816.49 B   | 19.2          | 2.3
	@ember-data/serializer/rest                       | 2.71 KB   | 595.96 B   | 14.0          | 1.7
	@ember-data/serializer/index                      | 243.00 B  | 52.13 B    | 1.2           | 0.1
	@ember-data/serializer/transform                  | 215.00 B  | 46.12 B    | 1.1           | 0.1

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '16.02 KB' │
│  compressed  │ '3.44 KB'  │
│ % Of Library │   '9.9'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                          | 8.37 KB   | 1.79 KB    | 52.2          | 5.2
	@ember-data/adapter/-private                      | 3.58 KB   | 787.32 B   | 22.4          | 2.2
	@ember-data/adapter/error                         | 1.91 KB   | 420.26 B   | 11.9          | 1.2
	@ember-data/adapter/index                         | 1.14 KB   | 249.71 B   | 7.1           | 0.7
	@ember-data/adapter/json-api                      | 1.02 KB   | 223.75 B   | 6.4           | 0.6

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '13.59 KB' │
│  compressed  │ '2.92 KB'  │
│ % Of Library │   '8.4'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/model/-private                        | 13.12 KB  | 2.81 KB    | 96.5          | 8.1
	@ember-data/model/index                           | 486.00 B  | 104.26 B   | 3.5           | 0.3

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '9.28 KB' │
│  compressed  │ '1.99 KB' │
│ % Of Library │   '5.8'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 2.32 KB   | 510.36 B   | 25.0          | 1.4
	ember-data/-private                               | 2.02 KB   | 444.71 B   | 21.8          | 1.3
	ember-data/adapters/errors                        | 1.19 KB   | 261.08 B   | 12.8          | 0.7
	ember-data/setup-container                        | 503.00 B  | 107.90 B   | 5.3           | 0.3
	ember-data/relationships                          | 318.00 B  | 68.22 B    | 3.3           | 0.2
	ember-data/serializers/embedded-records-mixin     | 274.00 B  | 58.78 B    | 2.9           | 0.2
	ember-data/serializers/json-api                   | 251.00 B  | 53.84 B    | 2.6           | 0.2
	ember-data/adapters/json-api                      | 245.00 B  | 52.55 B    | 2.6           | 0.1
	ember-data/serializers/json                       | 243.00 B  | 52.13 B    | 2.6           | 0.1
	ember-data/serializers/rest                       | 243.00 B  | 52.13 B    | 2.6           | 0.1
	ember-data/transform                              | 241.00 B  | 51.70 B    | 2.5           | 0.1
	ember-data/adapters/rest                          | 237.00 B  | 50.84 B    | 2.5           | 0.1
	ember-data/serializer                             | 232.00 B  | 49.77 B    | 2.4           | 0.1
	ember-data/adapter                                | 226.00 B  | 48.48 B    | 2.4           | 0.1
	ember-data/model                                  | 222.00 B  | 47.62 B    | 2.3           | 0.1
	ember-data/store                                  | 222.00 B  | 47.62 B    | 2.3           | 0.1
	ember-data/attr                                   | 218.00 B  | 46.76 B    | 2.3           | 0.1
	ember-data/version                                | 162.00 B  | 34.75 B    | 1.7           | 0.1

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '6.66 KB' │
│  compressed  │ '1.43 KB' │
│ % Of Library │   '4.1'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 2.88 KB   | 632.64 B   | 43.3          | 1.8
	ember-inflector/lib/system/inflections            | 1.59 KB   | 349.03 B   | 23.9          | 1.0
	ember-inflector/index                             | 473.00 B  | 101.47 B   | 6.9           | 0.3
	ember-inflector/lib/system                        | 471.00 B  | 101.04 B   | 6.9           | 0.3
	ember-inflector/lib/helpers/pluralize             | 373.00 B  | 80.01 B    | 5.5           | 0.2
	ember-inflector/lib/system/string                 | 318.00 B  | 68.21 B    | 4.7           | 0.2
	ember-inflector/lib/utils/make-helper             | 308.00 B  | 66.07 B    | 4.5           | 0.2
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 63.50 B    | 4.3           | 0.2

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.70 KB'  │
│  compressed  │ '593.17 B' │
│ % Of Library │   '1.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.21 KB   | 486.12 B   | 82.0          | 1.4
	@ember-data/debug/setup                           | 499.00 B  | 107.04 B   | 18.0          | 0.3

Package: @ember/ordered-set
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '1.08 KB'  │
│  compressed  │ '236.62 B' │
│ % Of Library │   '0.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember/ordered-set/index                          | 1.08 KB   | 236.62 B   | 100.0         | 0.7

Modern Builds (No Rollup)

EmberData increased by 438.0 B uncompressed but decreased by 52.0 B compressed

Warnings

The uncompressed size of the package @ember-data/adapter has increased by 438.0 B.

Changeset


EmberData 206.14 KB +438.0 B (39.17 KB -52.0 B compressed)
    @ember-data/adapter 18.14 KB +438.0 B (3.45 KB -52.0 B compressed)
        @ember-data/adapter/rest 8.37 KB +146.0 B (1.59 KB -17.33 B compressed)
        @ember-data/adapter/index 1.14 KB +146.0 B (221.2 B -17.33 B compressed)
        @ember-data/adapter/json-api 1.02 KB +146.0 B (198.21 B -17.33 B compressed)

Full Asset Analysis (Modern)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '206.14 KB' │
│ compressed │ '39.17 KB'  │
│  packages  │      9      │
│  modules   │     144     │
└────────────┴─────────────┘

Package: @ember-data/store
┌──────────────┬─────────────┐
│   (index)    │   Values    │
├──────────────┼─────────────┤
│    bytes     │ '102.71 KB' │
│  compressed  │ '19.52 KB'  │
│ % Of Library │   '49.8'    │
└──────────────┴─────────────┘
	Module                                                                             | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------------------------------------
	@ember-data/store/-private/system/core-store                                       | 17.60 KB  | 3.35 KB    | 17.1          | 8.5
	@ember-data/store/-private/system/model/internal-model                             | 16.99 KB  | 3.23 KB    | 16.5          | 8.2
	@ember-data/store/-private/system/model/states                                     | 5.44 KB   | 1.03 KB    | 5.3           | 2.6
	@ember-data/store/-private/system/fetch-manager                                    | 4.96 KB   | 965.58 B   | 4.8           | 2.4
	@ember-data/store/-private/system/record-array-manager                             | 4.47 KB   | 869.04 B   | 4.3           | 2.2
	@ember-data/store/-private/index                                                   | 4.44 KB   | 863.15 B   | 4.3           | 2.2
	@ember-data/store/-private/system/store/finders                                    | 4.35 KB   | 847.19 B   | 4.2           | 2.1
	@ember-data/store/-private/identifiers/cache                                       | 3.86 KB   | 751.41 B   | 3.8           | 1.9
	@ember-data/store/-private/system/store/record-data-store-wrapper                  | 3.42 KB   | 664.94 B   | 3.3           | 1.7
	@ember-data/store/-private/system/store/internal-model-factory                     | 2.91 KB   | 566.50 B   | 2.8           | 1.4
	@ember-data/store/-private/system/snapshot                                         | 2.85 KB   | 554.72 B   | 2.8           | 1.4
	@ember-data/store/-private/system/record-arrays/record-array                       | 2.25 KB   | 437.66 B   | 2.2           | 1.1
	@ember-data/store/-private/system/ds-model-store                                   | 1.99 KB   | 387.29 B   | 1.9           | 1.0
	@ember-data/store/-private/system/request-cache                                    | 1.89 KB   | 366.96 B   | 1.8           | 0.9
	@ember-data/store/-private/system/references/has-many                              | 1.51 KB   | 293.04 B   | 1.5           | 0.7
	@ember-data/store/-private/system/schema-definition-service                        | 1.47 KB   | 286.76 B   | 1.4           | 0.7
	@ember-data/store/-private/system/relationship-meta                                | 1.45 KB   | 281.63 B   | 1.4           | 0.7
	@ember-data/store/-private/system/model/shim-model-class                           | 1.27 KB   | 247.05 B   | 1.2           | 0.6
	@ember-data/store/-private/system/references/belongs-to                            | 1.24 KB   | 240.58 B   | 1.2           | 0.6
	@ember-data/store/-private/system/store/serializer-response                        | 1.12 KB   | 218.73 B   | 1.1           | 0.5
	@ember-data/store/-private/identifiers/utils/uuid-v4                               | 1.05 KB   | 204.86 B   | 1.0           | 0.5
	@ember-data/store/-private/system/internal-model-map                               | 983.00 B  | 186.80 B   | 0.9           | 0.5
	@ember-data/store/-private/system/references/record                                | 968.00 B  | 183.95 B   | 0.9           | 0.5
	@ember-data/store/index                                                            | 936.00 B  | 177.87 B   | 0.9           | 0.4
	@ember-data/store/-private/system/references/reference                             | 917.00 B  | 174.26 B   | 0.9           | 0.4
	@ember-data/store/-private/system/record-arrays/adapter-populated-record-array     | 892.00 B  | 169.51 B   | 0.8           | 0.4
	@ember-data/store/-private/system/model/notify-changes                             | 866.00 B  | 164.57 B   | 0.8           | 0.4
	@ember-data/store/-private/system/errors-utils                                     | 764.00 B  | 145.18 B   | 0.7           | 0.4
	@ember-data/store/-private/system/snapshot-record-array                            | 753.00 B  | 143.09 B   | 0.7           | 0.4
	@ember-data/store/-private/system/record-notification-manager                      | 689.00 B  | 130.93 B   | 0.7           | 0.3
	@ember-data/store/-private/system/references                                       | 598.00 B  | 113.64 B   | 0.6           | 0.3
	@ember-data/store/-private/system/promise-proxies                                  | 556.00 B  | 105.66 B   | 0.5           | 0.3
	@ember-data/store/-private/utils/construct-resource                                | 506.00 B  | 96.15 B    | 0.5           | 0.2
	@ember-data/store/-private/system/store/common                                     | 505.00 B  | 95.96 B    | 0.5           | 0.2
	@ember-data/store/-private/system/coerce-id                                        | 496.00 B  | 94.25 B    | 0.5           | 0.2
	@ember-data/store/-private/system/record-arrays                                    | 487.00 B  | 92.54 B    | 0.5           | 0.2
	@ember-data/store/-private/system/identity-map                                     | 450.00 B  | 85.51 B    | 0.4           | 0.2
	@ember-data/store/-private/system/diff-array                                       | 438.00 B  | 83.23 B    | 0.4           | 0.2
	@ember-data/store/-private/ts-interfaces/identifier                                | 400.00 B  | 76.01 B    | 0.4           | 0.2
	@ember-data/store/-private/utils/symbol                                            | 393.00 B  | 74.68 B    | 0.4           | 0.2
	@ember-data/store/-private/identifiers/is-stable-identifier                        | 327.00 B  | 62.14 B    | 0.3           | 0.2
	@ember-data/store/-private/ts-interfaces/fetch-manager                             | 316.00 B  | 60.05 B    | 0.3           | 0.1
	@ember-data/store/-private/utils/promise-record                                    | 290.00 B  | 55.11 B    | 0.3           | 0.1
	@ember-data/store/-private/system/backburner                                       | 268.00 B  | 50.93 B    | 0.3           | 0.1
	@ember-data/store/-private/utils/brand                                             | 258.00 B  | 49.03 B    | 0.2           | 0.1
	@ember-data/store/-private/system/record-data-for                                  | 235.00 B  | 44.65 B    | 0.2           | 0.1
	@ember-data/store/-private/system/ts-upgrade-map                                   | 234.00 B  | 44.46 B    | 0.2           | 0.1
	@ember-data/store/-private/system/normalize-model-name                             | 220.00 B  | 41.80 B    | 0.2           | 0.1
	@ember-data/store/-private/utils/is-non-empty-string                               | 212.00 B  | 40.28 B    | 0.2           | 0.1
	@ember-data/store/-debug/index                                                     | 193.00 B  | 36.67 B    | 0.2           | 0.1
	@ember-data/store/-private/system/deprecated-evented                               | 190.00 B  | 36.10 B    | 0.2           | 0.1
	@ember-data/store/-private/ts-interfaces/record-data-store-wrapper                 | 136.00 B  | 25.84 B    | 0.1           | 0.1
	@ember-data/store/-private/ts-interfaces/record-data-schemas                       | 130.00 B  | 24.70 B    | 0.1           | 0.1
	@ember-data/store/-private/ts-interfaces/minimum-serializer-interface              | 98.00 B   | 18.62 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data-record-wrapper                | 96.00 B   | 18.24 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/minimum-adapter-interface                 | 95.00 B   | 18.05 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/schema-definition-service                 | 95.00 B   | 18.05 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data-json-api                      | 90.00 B   | 17.10 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/ember-data-json-api                       | 89.00 B   | 16.91 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/promise-proxies                           | 85.00 B   | 16.15 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-instance                           | 85.00 B   | 16.15 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data                               | 81.00 B   | 15.39 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/ds-model                                  | 78.00 B   | 14.82 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/utils                                     | 75.00 B   | 14.25 B    | 0.1           | 0.0

Package: @ember-data/record-data
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '26.08 KB' │
│  compressed  │ '4.96 KB'  │
│ % Of Library │   '12.7'   │
└──────────────┴────────────┘
	Module                                                                      | Bytes     | Compressed | % of Package  | % Of Library
	-------------------------------------------------------------------------------------------------------------------------------
	@ember-data/record-data/-private/relationships/state/relationship           | 8.17 KB   | 1.55 KB    | 31.3          | 4.0
	@ember-data/record-data/-private/record-data                                | 8.12 KB   | 1.54 KB    | 31.1          | 3.9
	@ember-data/record-data/-private/relationships/state/belongs-to             | 3.03 KB   | 588.74 B   | 11.6          | 1.5
	@ember-data/record-data/-private/relationships/state/has-many               | 2.82 KB   | 548.64 B   | 10.8          | 1.4
	@ember-data/record-data/-private/relationships/state/create                 | 1.15 KB   | 224.24 B   | 4.4           | 0.6
	@ember-data/record-data/-private/index                                      | 1023.00 B | 194.40 B   | 3.8           | 0.5
	@ember-data/record-data/-private/ordered-set                                | 598.00 B  | 113.64 B   | 2.2           | 0.3
	@ember-data/record-data/-private/record-data-for                            | 481.00 B  | 91.40 B    | 1.8           | 0.2
	@ember-data/record-data/-private/coerce-id                                  | 406.00 B  | 77.15 B    | 1.5           | 0.2
	@ember-data/record-data/-private/normalize-link                             | 249.00 B  | 47.31 B    | 0.9           | 0.1
	@ember-data/record-data/-private/ts-interfaces/relationship-record-data     | 100.00 B  | 19.00 B    | 0.4           | 0.0

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '21.76 KB' │
│  compressed  │ '4.14 KB'  │
│ % Of Library │   '10.6'   │
└──────────────┴────────────┘
	Module                                                     | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                                | 7.12 KB   | 1.35 KB    | 32.7          | 3.5
	@ember-data/serializer/-private/embedded-records-mixin     | 4.30 KB   | 836.55 B   | 19.8          | 2.1
	@ember-data/serializer/json-api                            | 3.72 KB   | 723.28 B   | 17.1          | 1.8
	@ember-data/serializer/rest                                | 2.71 KB   | 527.92 B   | 12.5          | 1.3
	@ember-data/serializer/-private/index                      | 1.18 KB   | 229.94 B   | 5.4           | 0.6
	@ember-data/serializer/-private/transforms/date            | 523.00 B  | 99.39 B    | 2.3           | 0.2
	@ember-data/serializer/-private/transforms/boolean         | 490.00 B  | 93.11 B    | 2.2           | 0.2
	@ember-data/serializer/-private/transforms/number          | 446.00 B  | 84.75 B    | 2.0           | 0.2
	@ember-data/serializer/-private/transforms/string          | 351.00 B  | 66.70 B    | 1.6           | 0.2
	@ember-data/serializer/-private/utils                      | 286.00 B  | 54.35 B    | 1.3           | 0.1
	@ember-data/serializer/index                               | 243.00 B  | 46.17 B    | 1.1           | 0.1
	@ember-data/serializer/-private/transforms/transform       | 242.00 B  | 45.98 B    | 1.1           | 0.1
	@ember-data/serializer/transform                           | 215.00 B  | 40.85 B    | 1.0           | 0.1

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '18.14 KB' │
│  compressed  │ '3.45 KB'  │
│ % Of Library │   '8.8'    │
└──────────────┴────────────┘
	Module                                                        | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                                      | 8.37 KB   | 1.59 KB    | 46.1          | 4.1
	@ember-data/adapter/error                                     | 1.91 KB   | 372.28 B   | 10.5          | 0.9
	@ember-data/adapter/-private/build-url-mixin                  | 1.82 KB   | 354.80 B   | 10.1          | 0.9
	@ember-data/adapter/index                                     | 1.14 KB   | 221.20 B   | 6.3           | 0.6
	@ember-data/adapter/-private/index                            | 1.03 KB   | 200.68 B   | 5.7           | 0.5
	@ember-data/adapter/json-api                                  | 1.02 KB   | 198.21 B   | 5.6           | 0.5
	@ember-data/adapter/-private/utils/serialize-query-params     | 792.00 B  | 150.51 B   | 4.3           | 0.4
	@ember-data/adapter/-private/utils/determine-body-promise     | 549.00 B  | 104.33 B   | 3.0           | 0.3
	@ember-data/adapter/-private/utils/parse-response-headers     | 480.00 B  | 91.21 B    | 2.6           | 0.2
	@ember-data/adapter/-private/utils/fetch                      | 454.00 B  | 86.27 B    | 2.4           | 0.2
	@ember-data/adapter/-private/utils/serialize-into-hash        | 347.00 B  | 65.94 B    | 1.9           | 0.2
	@ember-data/adapter/-private/utils/continue-on-reject         | 219.00 B  | 41.61 B    | 1.2           | 0.1
	@ember-data/adapter/-private/fastboot-interface               | 76.00 B   | 14.44 B    | 0.4           | 0.0

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '17.53 KB' │
│  compressed  │ '3.33 KB'  │
│ % Of Library │   '8.5'    │
└──────────────┴────────────┘
	Module                                                   | Bytes     | Compressed | % of Package  | % Of Library
	------------------------------------------------------------------------------------------------------------
	@ember-data/model/-private/model                         | 6.32 KB   | 1.20 KB    | 36.0          | 3.1
	@ember-data/model/-private/system/many-array             | 2.40 KB   | 466.35 B   | 13.7          | 1.2
	@ember-data/model/-private/errors                        | 2.03 KB   | 395.66 B   | 11.6          | 1.0
	@ember-data/model/-private/index                         | 1.29 KB   | 251.04 B   | 7.4           | 0.6
	@ember-data/model/-private/system/relationships/ext      | 1.19 KB   | 232.03 B   | 6.8           | 0.6
	@ember-data/model/-private/attr                          | 724.00 B  | 137.58 B   | 4.0           | 0.3
	@ember-data/model/-private/belongs-to                    | 663.00 B  | 125.99 B   | 3.7           | 0.3
	@ember-data/model/-private/system/promise-many-array     | 642.00 B  | 122.00 B   | 3.6           | 0.3
	@ember-data/model/-private/has-many                      | 626.00 B  | 118.96 B   | 3.5           | 0.3
	@ember-data/model/index                                  | 486.00 B  | 92.35 B    | 2.7           | 0.2
	@ember-data/model/-private/util                          | 442.00 B  | 83.99 B    | 2.5           | 0.2
	@ember-data/model/-private/system/promise-belongs-to     | 412.00 B  | 78.29 B    | 2.3           | 0.2
	@ember-data/model/-private/system/model-for-mixin        | 408.00 B  | 77.53 B    | 2.3           | 0.2

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '9.50 KB' │
│  compressed  │ '1.81 KB' │
│ % Of Library │   '4.6'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 2.32 KB   | 452.10 B   | 24.5          | 1.1
	ember-data/-private/index                         | 1.93 KB   | 375.13 B   | 20.3          | 0.9
	ember-data/adapters/errors                        | 1.19 KB   | 231.27 B   | 12.5          | 0.6
	ember-data/setup-container                        | 503.00 B  | 95.58 B    | 5.2           | 0.2
	ember-data/-private/core                          | 321.00 B  | 61.00 B    | 3.3           | 0.2
	ember-data/relationships                          | 318.00 B  | 60.43 B    | 3.3           | 0.2
	ember-data/serializers/embedded-records-mixin     | 274.00 B  | 52.07 B    | 2.8           | 0.1
	ember-data/serializers/json-api                   | 251.00 B  | 47.69 B    | 2.6           | 0.1
	ember-data/adapters/json-api                      | 245.00 B  | 46.55 B    | 2.5           | 0.1
	ember-data/serializers/json                       | 243.00 B  | 46.17 B    | 2.5           | 0.1
	ember-data/serializers/rest                       | 243.00 B  | 46.17 B    | 2.5           | 0.1
	ember-data/transform                              | 241.00 B  | 45.79 B    | 2.5           | 0.1
	ember-data/adapters/rest                          | 237.00 B  | 45.03 B    | 2.4           | 0.1
	ember-data/serializer                             | 232.00 B  | 44.08 B    | 2.4           | 0.1
	ember-data/adapter                                | 226.00 B  | 42.94 B    | 2.3           | 0.1
	ember-data/model                                  | 222.00 B  | 42.18 B    | 2.3           | 0.1
	ember-data/store                                  | 222.00 B  | 42.18 B    | 2.3           | 0.1
	ember-data/attr                                   | 218.00 B  | 41.42 B    | 2.2           | 0.1
	ember-data/version                                | 162.00 B  | 30.78 B    | 1.7           | 0.1

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '6.66 KB' │
│  compressed  │ '1.26 KB' │
│ % Of Library │   '3.2'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 2.88 KB   | 560.42 B   | 43.3          | 1.4
	ember-inflector/lib/system/inflections            | 1.59 KB   | 309.19 B   | 23.9          | 0.8
	ember-inflector/index                             | 473.00 B  | 89.88 B    | 6.9           | 0.2
	ember-inflector/lib/system                        | 471.00 B  | 89.50 B    | 6.9           | 0.2
	ember-inflector/lib/helpers/pluralize             | 373.00 B  | 70.88 B    | 5.5           | 0.2
	ember-inflector/lib/system/string                 | 318.00 B  | 60.43 B    | 4.7           | 0.2
	ember-inflector/lib/utils/make-helper             | 308.00 B  | 58.53 B    | 4.5           | 0.1
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 56.25 B    | 4.3           | 0.1

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.70 KB'  │
│  compressed  │ '525.45 B' │
│ % Of Library │   '1.3'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.21 KB   | 430.62 B   | 82.0          | 1.1
	@ember-data/debug/setup                           | 499.00 B  | 94.82 B    | 18.0          | 0.2

Package: @ember/ordered-set
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '1.08 KB'  │
│  compressed  │ '209.61 B' │
│ % Of Library │   '0.5'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember/ordered-set/index                          | 1.08 KB   | 209.61 B   | 100.0         | 0.5

@@ -470,6 +470,8 @@ export default class Adapter extends EmberObject implements MinimumAdapterInterf
return RSVPPromise.resolve();
}

_coalesceFindRequests = true;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We could use # private fields here but that will throw an error with non native classes

@@ -231,7 +231,8 @@ class JSONAPIAdapter extends RESTAdapter {
@property coalesceFindRequests
@type {boolean}
*/
coalesceFindRequests: boolean = false;

_coalesceFindRequests: boolean = false;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We don't want @private documentation for this do we?

@igorT
Copy link
Member

igorT commented Apr 3, 2021

@snewcomer thank you for the fix! Can you please add a test that verifies this fixes the reported issue

let post;
module('init adapter coalesceFindRequests', function() {
test('findMany - passes buildURL the requestType', function(assert) {
this.owner.register('adapter:application', RESTAdapter.extend({ coalesceFindRequests: true }));
Copy link
Contributor Author

@snewcomer snewcomer Apr 3, 2021

Choose a reason for hiding this comment

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

I think I might just move this to a unit test. This test file was sort of a pain to work with...

  1. We need to call unregister to register a new adapter with the adapter declaration shown above.
  2. Calling store.adapterFor in beforeEach makes it hard to unregister and register a new application adapter since the store _adapterCache isn't cleared unless I force clear that private field - which doesn't seem like a good idea. The existence of this cache will result in the adapter registered in the beforeEach to be used. The approach I took here was to declare two module blocks to separate the concerns.

Still...a unit test is probably the way to go given the complexity here.

@@ -66,6 +66,8 @@ type SnapshotRecordArray = import('@ember-data/store/-private/system/snapshot-re
@extends EmberObject
*/
export default class Adapter extends EmberObject implements MinimumAdapterInterface {
declare _coalesceFindRequests: boolean;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

WAT. I missed this discussion and I am sad. tc39/proposal-class-fields#151 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

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

I think a better alternative here may be to do this within the constructor.

Copy link
Contributor

@runspired runspired left a comment

Choose a reason for hiding this comment

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

After exploring this is the only implementation that works.

While we could use properties within the constructor for the base Adapter implementation, we would not be able to toggle the default from true to false for the RESTAdapter and JSONAPIAdapter which extend it for both .extends and native class syntax.

A simpler implementation is only possible if we either drop the implementation in the base class entirely, change the base class to have the same default as the others, or stop extending from Adapter (we should probably actually do this, but can investigate it at another time).

@runspired runspired merged commit a59d7f5 into master Apr 9, 2021
@delete-merged-branch delete-merged-branch bot deleted the sn/coalese-find-requests branch April 9, 2021 18:16
@runspired runspired added 🏷️ bug This PR primarily fixes a reported issue and removed Bug labels Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bug This PR primarily fixes a reported issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

coalesceFindRequests: true regression when using classic RESTAdapter
3 participants