I am trying to run the project locally but found this error and tried to solve it many times and can't resolve it.
2024-03-07 06706, 2024
MohamedAli00949
```bash
2024-03-07 06707, 2024
MohamedAli00949
ERROR in ./stylesheets/style.scss (./stylesheets/style.scss.webpack[javascript/auto]!=!../../node_modules/css-loader/dist/cjs.js!../../node_modules/resolve-url-loader/index.js!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./stylesheets/style.scss)
ERROR in ./stylesheets/style.scss (./stylesheets/style.scss.webpack[javascript/auto]!=!../../node_modules/css-loader/dist/cjs.js!../../node_modules/resolve-url-loader/index.js!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./stylesheets/style.scss)
at symbolIterator (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3485:9)
2024-03-07 06726, 2024
MohamedAli00949
at done (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3527:9)
2024-03-07 06726, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:4873:8
2024-03-07 06727, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:3352:32
2024-03-07 06727, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/HookWebpackError.js:68:3
2024-03-07 06728, 2024
MohamedAli00949
at Hook.eval [as callAsync] (eval at create (/home/mohamed/Downloads/bookbrainz-site/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:4:1)
2024-03-07 06728, 2024
MohamedAli00949
at Cache.store (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Cache.js:107:20)
2024-03-07 06729, 2024
MohamedAli00949
at ItemCacheFacade.store (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/CacheFacade.js:137:15)
2024-03-07 06729, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:3352:11
2024-03-07 06730, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Cache.js:93:5
2024-03-07 06730, 2024
MohamedAli00949
at Hook.eval [as callAsync] (eval at create (/home/mohamed/Downloads/bookbrainz-site/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:4:1)
2024-03-07 06731, 2024
MohamedAli00949
at Cache.get (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Cache.js:75:18)
2024-03-07 06731, 2024
MohamedAli00949
at ItemCacheFacade.get (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/CacheFacade.js:111:15)
2024-03-07 06732, 2024
MohamedAli00949
at Compilation._codeGenerationModule (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:3322:9)
2024-03-07 06732, 2024
MohamedAli00949
at codeGen (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:4861:11)
2024-03-07 06733, 2024
MohamedAli00949
at symbolIterator (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3482:9)
2024-03-07 06733, 2024
MohamedAli00949
at timesSync (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:2297:7)
2024-03-07 06734, 2024
MohamedAli00949
at Object.eachLimit (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3463:5)
2024-03-07 06745, 2024
MohamedAli00949
at Hook.eval [as callAsync] (eval at create (/home/mohamed/Downloads/bookbrainz-site/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:13:1)
2024-03-07 06746, 2024
MohamedAli00949
at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/home/mohamed/Downloads/bookbrainz-site/node_modules/tapable/lib/Hook.js:18:14)
2024-03-07 06746, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:4993:43
2024-03-07 06747, 2024
MohamedAli00949
at symbolIterator (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3482:9)
2024-03-07 06747, 2024
MohamedAli00949
at timesSync (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:2297:7)
2024-03-07 06748, 2024
MohamedAli00949
at Object.eachLimit (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3463:5)
2024-03-07 06748, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:4958:16
2024-03-07 06749, 2024
MohamedAli00949
at symbolIterator (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3485:9)
2024-03-07 06749, 2024
MohamedAli00949
at timesSync (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:2297:7)
2024-03-07 06750, 2024
MohamedAli00949
at Object.eachLimit (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3463:5)
2024-03-07 06750, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:4926:15
2024-03-07 06751, 2024
MohamedAli00949
at symbolIterator (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3485:9)
2024-03-07 06751, 2024
MohamedAli00949
at done (/home/mohamed/Downloads/bookbrainz-site/node_modules/neo-async/async.js:3527:9)
2024-03-07 06752, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:4873:8
2024-03-07 06752, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Compilation.js:3352:32
2024-03-07 06753, 2024
MohamedAli00949
at /home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/HookWebpackError.js:68:3
2024-03-07 06753, 2024
MohamedAli00949
at Hook.eval [as callAsync] (eval at create (/home/mohamed/Downloads/bookbrainz-site/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:4:1)
2024-03-07 06754, 2024
MohamedAli00949
at Cache.store (/home/mohamed/Downloads/bookbrainz-site/node_modules/webpack/lib/Cache.js:107:20)
2024-03-07 06704, 2024
MohamedAli009496 joined the channel
2024-03-07 06705, 2024
MohamedAli00949
If you can help me, that's will be nice
2024-03-07 06706, 2024
MohamedAli00949 has quit
2024-03-07 06725, 2024
MohamedAli009496 has quit
2024-03-07 06737, 2024
MohamedAli00949 joined the channel
2024-03-07 06702, 2024
MohamedAli00949 has quit
2024-03-07 06748, 2024
insane_22 joined the channel
2024-03-07 06736, 2024
insane_22 has quit
2024-03-07 06748, 2024
insane_22 joined the channel
2024-03-07 06728, 2024
insane_22 has quit
2024-03-07 06732, 2024
MohamedAli00949 joined the channel
2024-03-07 06701, 2024
MohamedAli00949 has quit
2024-03-07 06759, 2024
insane_22 joined the channel
2024-03-07 06700, 2024
insane_22
Hello people, I have a doubt to ask. In the current setup we use redis 'for sessions and to cache requests to external APIs' like wikimedia. At the same time, it’s a popular practice to use a Redis caching layer to your Elasticsearch queries. Any specific reason not to do so ?
2024-03-07 06720, 2024
insane_22 has quit
2024-03-07 06741, 2024
insane_22 joined the channel
2024-03-07 06742, 2024
insane_22 has quit
2024-03-07 06707, 2024
munishk joined the channel
2024-03-07 06700, 2024
insane_22 joined the channel
2024-03-07 06748, 2024
insane_22 has quit
2024-03-07 06718, 2024
anonn joined the channel
2024-03-07 06740, 2024
munishk has quit
2024-03-07 06716, 2024
Tarun_0x0 joined the channel
2024-03-07 06724, 2024
Tarun_0x0 has quit
2024-03-07 06750, 2024
Tarun_0x0 joined the channel
2024-03-07 06723, 2024
insane_22 joined the channel
2024-03-07 06731, 2024
monkey[m] joined the channel
2024-03-07 06731, 2024
monkey[m]
Hi MohamedAli00949 (IRC) did you modify stylesheets/style.scss ? The error says it found an unexpected question mark somewhere, but I can't replicate the issue myself.
2024-03-07 06731, 2024
monkey[m]
Are you running everything in Docker? Have you made modifications to other files?
2024-03-07 06754, 2024
monkey[m]
insane_22 (IRC): No reason, no. Didn't know about using Redis to cache queries
2024-03-07 06704, 2024
Tarun_0x0 has quit
2024-03-07 06743, 2024
insane_22 has quit
2024-03-07 06756, 2024
insane_22 joined the channel
2024-03-07 06723, 2024
insane_22
monkey, by storing the results of database queries and checking for them before having to search again, in my view this could be achieved. Isn't it?
2024-03-07 06717, 2024
insane_22
Saw after googling that it's used at places and wanted to validate if it would even be needed in our case
2024-03-07 06726, 2024
insane_22
actually, I was looking into project musicbrainz search server wherein they use solr search to have a better idea of the way things are done. It uses "RabbitMQ which gathers data to be indexed from the database, and finally builds searchable documents and sends these to the Solr search server". I was thinking about using Redis for the same and
2024-03-07 06726, 2024
insane_22
other ways by which we can improve upon things.
2024-03-07 06721, 2024
insane_22
wait are monkey and monkey[m]two different peopleO_O
2024-03-07 06737, 2024
monkey[m]
Nope, just me switching between computers :)
2024-03-07 06711, 2024
monkey[m]
IMO using rabbitMQ is the way to go
2024-03-07 06723, 2024
monkey[m]
Regardless of caching query results
2024-03-07 06704, 2024
monkey[m]
Also I think a good start would be tuning the debounce for the search inputs, currently it's too low and we're doing a bunch of searches as we type
2024-03-07 06754, 2024
monkey[m]
If you want to fix that too it's an easy one with good resource savings
2024-03-07 06727, 2024
monkey[m]
I'd have to read up on using redis for caching query results: got some docs I can read ?
2024-03-07 06759, 2024
yvanzo
We are actually thinking of using PostgreSQL directly for search indexing in MusicBrainz.
2024-03-07 06725, 2024
yvanzo
It seems to be manageable without RabbitMQ.
2024-03-07 06720, 2024
yvanzo
At least it is for indexing cover art.
2024-03-07 06741, 2024
yvanzo
This is an implementation details and it probably doesn’t matter much at BB scale.
2024-03-07 06748, 2024
insane_22 has quit
2024-03-07 06701, 2024
insane_22 joined the channel
2024-03-07 06732, 2024
Tarun_0x0 joined the channel
2024-03-07 06757, 2024
insane_22 has quit
2024-03-07 06742, 2024
insane_22 joined the channel
2024-03-07 06747, 2024
yvanzo
Also MB search results are cached through OpenResty which uses nginx.
2024-03-07 06759, 2024
insane_22
Thank you yvanzo for your replies
2024-03-07 06704, 2024
insane_22
with rabbitMQ I'm a bit familiar but have no idea of use cases, implementation or anything of OpenResty.
2024-03-07 06722, 2024
insane_22
also I would like to know if there are any reasons not to use redis?
It seems feasible to use Redis/KeyDB as message broker.
2024-03-07 06754, 2024
yvanzo
I would still advise to start with the simplest solution (PG table) at first, and have metrics through Prometheus to monitor scalability.
2024-03-07 06716, 2024
bitmap
interestingly, for musicbrainz, all of the message data that sir needs is already stored in postgres (under dbmirror2.pending_data). so we have triggers pushing the same data to rabbitmq for no real reason
2024-03-07 06734, 2024
Tarun_0x0 has quit
2024-03-07 06741, 2024
yvanzo
(For others, dbmirror2 is more recent than the search architecture.)
2024-03-07 06704, 2024
bitmap
yeah, we just haven't made use of it yet
2024-03-07 06702, 2024
monkey[m]
Interesting
2024-03-07 06707, 2024
bitmap
I would concur with the use of a PG table though. postgres is very capable for messaging nowadays if you don't need advanced routing
2024-03-07 06722, 2024
bitmap
and it's one less service to manage
2024-03-07 06730, 2024
yvanzo
Also avoiding the need of a bridge PG-RabbitMQ or PG-Redis makes it much simpler to maintain.
2024-03-07 06735, 2024
bitmap
you can safely have multiple consumers take items from the table with `SELECT ... FOR UPDATE SKIP LOCKED`
2024-03-07 06740, 2024
Tarun_0x0 joined the channel
2024-03-07 06728, 2024
insane_22 has quit
2024-03-07 06720, 2024
Tarun_0x0 has quit
2024-03-07 06730, 2024
Tarun_0x0 joined the channel
2024-03-07 06706, 2024
insane_22 joined the channel
2024-03-07 06734, 2024
insane_22
all of this makes sense to me (except for "Prometheus to monitor scalability", need to see how), also would have a better look at MB changes (dbmirror2 and pr that yvanzosent)
2024-03-07 06701, 2024
insane_22
imo, all of us are on the same page about this:- using postgres directly for sending trigger messages to search index rebuilder
2024-03-07 06740, 2024
insane_22
Also, about having a query-caching layer in front of (or solr search, upcominng project for summers)
2024-03-07 06735, 2024
insane_22
In Musicbrainz as told by yvanzo it's done "through OpenResty which uses nginx", I had earlier thought of using redis to do this
2024-03-07 06741, 2024
insane_22
"Also I think a good start would be tuning the debounce for the search inputs, currently it's too low and we're doing a bunch of searches as we type" - monkey[m] Isn't this already done? Here:- https://github.com/metabrainz/bookbrainz-site/blo…