loopbackio / loopbackio/loopback-next

Update the datasource/database read preference at the run time.

Abierto
#9,388 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

feature
Lenguaje dominante
TypeScript
Estrellas
5.1k
Forks
1.1k
Merge medio
2 d 21 h
PR fusionados (30 d)
27

Descripción

### Describe the bug

For architectural reasons, I need to update the readPreference for a given method, on a given repository at the fly.
Please note, this change should be done at real time, and impact only this function invocation. However, the readPreferrence at the application level/datasource level should remain intact to "primaryPreferred".

For example,

```Javascript
this.userRepo.find(filter, { readPreference: "secondary" }); // request is still going to primary MongoDB server!
this.userRepo.findById(filter, { readPreference: "primary" });
```

I've tried this, but upon checking mongodb logs, this does not seem to work. All the request are going to primary server.

MongoDB version: v4.2

### Logs

```shell
NA
```

### Additional information

NA

### Reproduction

https://github.com/shivambmgupta/loopback-next/tree/bug/read-preference-update

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la rama de reproducción enlazada y sigue las llamadas del repositorio usando find y findById con opciones de readPreference por invocación contra MongoDB 4.2. Verifica que una preferencia a nivel de método cambie solo esa invocación, mientras la configuración de la aplicación y del datasource siga siendo primaryPreferred; confirma la selección de servidor resultante en los logs de MongoDB.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
mongodb, typescript
Área
backend, database
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.