Skip to content

Commit 95626cf

Browse files
imsduSimon Dumas
andauthored
Add documentation for 1.12.0-M1 (#5294)
* Add documentation for 1.12.0-M1 --------- Co-authored-by: Simon Dumas <simon.dumas@senscience.ai>
1 parent b96787c commit 95626cf

File tree

6 files changed

+113
-55
lines changed

6 files changed

+113
-55
lines changed

delta/plugins/elasticsearch/src/main/scala/ch/epfl/bluebrain/nexus/delta/plugins/elasticsearch/ElasticSearchPluginModule.scala

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ class ElasticSearchPluginModule(priority: Int) extends ModuleDef {
114114
)(uuidF)
115115
}
116116

117-
make[MigrateDefaultIndexing].from { (xas: Transactors) => MigrateDefaultIndexing(xas) }
118-
119117
make[ElasticSearchCoordinator].fromEffect {
120118
(
121119
views: ElasticSearchViews,
@@ -124,18 +122,16 @@ class ElasticSearchPluginModule(priority: Int) extends ModuleDef {
124122
supervisor: Supervisor,
125123
client: ElasticSearchClient,
126124
config: ElasticSearchViewsConfig,
127-
cr: RemoteContextResolution @Id("aggregate"),
128-
migration: MigrateDefaultIndexing
125+
cr: RemoteContextResolution @Id("aggregate")
129126
) =>
130-
migration.run >>
131-
ElasticSearchCoordinator(
132-
views,
133-
graphStream,
134-
registry,
135-
supervisor,
136-
client,
137-
config
138-
)(cr)
127+
ElasticSearchCoordinator(
128+
views,
129+
graphStream,
130+
registry,
131+
supervisor,
132+
client,
133+
config
134+
)(cr)
139135
}
140136

141137
make[MainIndexingCoordinator].fromEffect {

delta/plugins/elasticsearch/src/main/scala/ch/epfl/bluebrain/nexus/delta/plugins/elasticsearch/MigrateDefaultIndexing.scala

Lines changed: 0 additions & 41 deletions
This file was deleted.

delta/sourcing-psql/src/main/resources/scripts/postgres/init/V2_00_M01__ship_drop_tables.ddl renamed to delta/sourcing-psql/src/main/resources/scripts/postgres/init/V1_12_M01__ship_drop_tables.ddl

File renamed without changes.

docs/src/main/paradox/docs/releases/index.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
@@@ index
22

3+
- @ref:[v1.12 Release Notes](v1.12-release-notes.md)
4+
- @ref:[v1.11 To v1.12 Migration](v1.11-to-v1.12-migration.md)
35
- @ref:[v1.11 Release Notes](v1.11-release-notes.md)
46
- @ref:[v1.10 To v1.11 Migration](v1.10-to-v1.11-migration.md)
57
- @ref:[v1.10 Release Notes](v1.10-release-notes.md)
@@ -18,7 +20,41 @@ This section of the documentation lists the significant BlueBrain Nexus releases
1820
applications.
1921

2022
TODO: update release date
21-
The latest stable release is **v1.10.0** released on **17.09.2024**.
23+
24+
The latest stable release is **v1.11.0** released on **09.12.2024**.
25+
26+
## 1.12.0
27+
28+
### Breaking changes
29+
30+
@@@ note { .warning }
31+
32+
The items listed below are changes that have been made in this release that may break compatibility with previous releases.
33+
34+
**Nexus Delta now fully supports JSON-LD 1.1**
35+
36+
- This implied updating some underlying libraries which could result in discrepancies in processing compared to previous versions of Nexus.
37+
- With the support of JSON-LD 1.1, the ability to a have a lenient processor for incoming JSON-LD payloads has been removed.
38+
39+
Please test this new version carefully and address any issues on the client side before pushing in a production environment.
40+
41+
**Resource metadata**
42+
43+
- The `_project` field in resource metadata is now populated with as its reference (`org/project`) instead of its address
44+
- The `_incoming` and `_outgoing` links are not part of the metadata anymore (the endpoints remain available for resources and files)
45+
46+
**Indexing**
47+
48+
- Projects, resolvers, schemas, storages and views are not indexed anymore in Blazegraph and Elasticsearch.
49+
@@@
50+
51+
### New features / enhancements
52+
53+
- Full support of JSON-LD 1.1 via [Apache Jena 5.x](https://jena.apache.org/) and [Titanium JSON-LD](https://github.com/filip26/titanium-json-ld)
54+
- The default indexing in Elasticsearch has been rewritten to push data in a single Elasticsearch index in order to reduce shard consumption.
55+
- Projects, resolvers, schemas, storages and views are not indexed anymore to prepare further changes on how they are handled
56+
57+
A detailed list of changes included in the release can be found in the @ref:[release notes](v1.12-release-notes.md).
2258

2359
## 1.11.0
2460

@@ -38,6 +74,8 @@ The items listed below are changes that have been made in this release that brea
3874
- @ref:[Conditional requests](../delta/api/conditional-requests.md)
3975
- @ref:[Passivation](../delta/api/views/index.md#passivation)
4076

77+
A detailed list of changes included in the release can be found in the @ref:[release notes](v1.11-release-notes.md).
78+
4179
## 1.10.0
4280

4381
### Breaking changes
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# v1.11 To v1.12 Migration
2+
3+
# Schema changes
4+
Run the differents scripts starting with V1_12 in order:
5+
6+
https://github.com/BlueBrain/nexus/tree/$git.branch$/delta/sourcing-psql/src/main/resources/scripts/postgres/init
7+
8+
# Indexing in Elasticsearch and Blazegraph
9+
10+
Those different changes in 1.12 require a full reindexing in Elasticsearch and Blazegraph:
11+
12+
* default indexing in Elasticsearch now pushes to a single index
13+
* projects, resolvers, schemas, storages and views are not indexed anymore
14+
* some metadata fields are not indexed anymore
15+
16+
The choice of migration will depend on your current setup, needs, and uptime requirements that you want to uphold for
17+
your users.
18+
19+
If you can accept partial results in Elasticsearch/Blazegraph during the reindexing process, this migration can be achieved as follows:
20+
21+
* Make a backup of your PostgreSQL instance
22+
* Deploy new instances of Elasticsearch and Blazegraph
23+
* Scale down Nexus Delta, update the image version and change its configuration to point to those new instances
24+
* Configure Delta via the `plugins.elasticsearch.main-index.shards` depending on your amount of data
25+
and [following the Elastic recommendations about sharding](https://www.elastic.co/guide/en/elasticsearch/reference/current/size-your-shards.html)
26+
* You can optionally allocate more resources to Delta, PostgreSQL, Blazegraph and Elasticsearch to accommodate for the load related to the indexing
27+
* You may also want to reindex in Elasticsearch first and then in Blazegraph if the load is too high
28+
* Run the following SQL script to delete the former default elasticsearch views and their progress:
29+
```sql
30+
DELETE FROM scoped_events WHERE type = 'elasticsearch' AND id = 'https://bluebrain.github.io/nexus/vocabulary/defaultElasticSearchIndex';
31+
DELETE FROM scoped_states WHERE type = 'elasticsearch' AND id = 'https://bluebrain.github.io/nexus/vocabulary/defaultElasticSearchIndex';
32+
DELETE FROM projection_offsets WHERE module = 'elasticsearch' AND resource_id = 'https://bluebrain.github.io/nexus/vocabulary/defaultElasticSearchIndex';
33+
DELETE FROM projection_offsets WHERE name = 'event-metrics';
34+
```
35+
* Run the following SQL script to delete the progress of Blazegraph indexing:
36+
```sql
37+
DELETE FROM projection_offsets WHERE module = 'blazegraph';
38+
```
39+
* Start Nexus Delta
40+
* Monitor the load of the different components and the indexing process by running the following query
41+
```sql
42+
SELECT * FROM projection_offsets ORDER BY updated_at DESC;
43+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# v1.12 Release Notes
2+
3+
> This is an incremental software release that adds several improvements across the board.
4+
> The API is backwards compatible with v1.11
5+
>
6+
7+
// TODO: update date
8+
For the detailed list of updates in this release, see the @link:[list of addressed issues](https://github.com/BlueBrain/nexus/issues?&q=is%3Aissue+is%3Aclosed+created%3A2024-12-10..2025-02-28+){ open=new } since v1.11.
9+
10+
If you are currently using Nexus Delta from 1.11.x, please
11+
visit the @ref:[migration instructions](v1.11-to-v1.12-migration.md) for the necessary steps to successfully upgrade.
12+
13+
14+
## Nexus Delta
15+
16+
### Support of JSON-LD 1.1
17+
18+
This change allow Nexus to provide a full support of JSON-LD 1.1 including features such as scoped contexts and JSON literals.
19+
20+
### Default indexing
21+
22+
The default Elasticsearch view now points to a single index to avoid the oversharding problems when a Nexus instance contains a lot of projects.

0 commit comments

Comments
 (0)