Skip to content

Commit d4809f7

Browse files
author
reindexer-bot
committed
Merge branch '2566_fix_query_entry_add_postprocess' into 'develop'
Fix query entry add postprocess - [#2566] See merge request itv-backend/reindexer!2508
1 parent f814227 commit d4809f7

1,566 files changed

Lines changed: 236077 additions & 72953 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ LambdaBodyIndentation: Signature
154154
LineEnding: DeriveLF
155155
MacroBlockBegin: ''
156156
MacroBlockEnd: ''
157+
Macros:
158+
- RX_GET_WITHOUT_MUTEX_ANALYSIS=[]()
159+
- RX_MUTEX_ACCESS=private
157160
MaxEmptyLinesToKeep: 1
158161
NamespaceIndentation: None
159162
ObjCBinPackProtocolList: Auto
@@ -234,6 +237,7 @@ StatementMacros:
234237
- Q_UNUSED
235238
- QT_REQUIRE_VERSION
236239
TabWidth: 4
240+
TypenameMacros: []
237241
UseTab: Always
238242
VerilogBreakBetweenInstancePorts: true
239243
WhitespaceSensitiveMacros:

.github/workflows/install_gbench.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22

3-
git clone --branch v1.6.2 https://github.com/google/benchmark.git
4-
git clone --branch release-1.12.1 https://github.com/google/googletest.git benchmark/googletest
3+
git clone --branch v1.9.5 https://github.com/google/benchmark.git
4+
git clone --branch v1.17.0 https://github.com/google/googletest.git benchmark/googletest
55
cd benchmark
66
cmake -E make_directory "build"
77
cmake -E chdir "build" cmake -DCMAKE_BUILD_TYPE=Release -DBENCHMARK_ENABLE_TESTING=OFF ../

.github/workflows/install_grpc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ cd grpc
55
git submodule update --init
66
mkdir -p cmake/build
77
cd cmake/build
8-
cmake -DCMAKE_BUILD_TYPE=Release DgRPC_INSTALL=ON ../..
8+
cmake -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DgRPC_BUILD_TESTS=OFF ../..
99
make -j4
1010
sudo make install
1111
sudo ldconfig

.github/workflows/install_gtest.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22

3-
git clone --branch release-1.12.1 https://github.com/google/googletest.git
3+
git clone --branch v1.17.0 https://github.com/google/googletest.git
44
cd googletest
55
mkdir build
66
cd build

.github/workflows/test.yml

Lines changed: 49 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,34 @@ name: build
33
on: push
44
jobs:
55
build-windows-latest:
6-
runs-on: windows-latest
6+
runs-on: windows-2025-vs2026
77
strategy:
88
matrix:
9-
compiler: ["Visual Studio 17 2022"]
9+
compiler: ['Visual Studio 18 2026', 'MinGW Makefiles']
1010
fail-fast: false
11+
env:
12+
EXTRA_FLAGS:
13+
"${{ matrix.compiler == 'Visual Studio 18 2026' && '-Ax64' || '' }}"
1114
steps:
1215
- name: Checkout repository
13-
uses: actions/checkout@v4
14-
- name: Build Reindexer
16+
uses: actions/checkout@v6
17+
- name: Install NSIS
18+
shell: pwsh
1519
run: |
16-
mkdir build && cd build
17-
cmake -G "${{matrix.compiler}}" .. -Ax64
18-
cmake --build . --config Release
19-
cmake --build . --config Release --target face
20-
cmake --build . --config Release --target swagger
21-
cpack
22-
- name: Upload Artifacts
23-
uses: actions/upload-artifact@v4
24-
with:
25-
name: windows-latest
26-
path: build/*.exe
27-
if-no-files-found: error
28-
29-
build-windows-2019:
30-
runs-on: windows-2019
31-
strategy:
32-
matrix:
33-
compiler: ["Visual Studio 16 2019", "MinGW Makefiles"]
34-
fail-fast: false
35-
steps:
36-
- name: Checkout repository
37-
uses: actions/checkout@v4
20+
$ErrorActionPreference = "Stop"
21+
$PSNativeCommandUseErrorActionPreference = $true
22+
choco install nsis.portable --version=3.11.0 --yes --no-progress
23+
if ($LASTEXITCODE -ne 0) {
24+
throw "Chocolatey failed to install nsis.portable"
25+
}
26+
makensis /VERSION
3827
- name: Build Reindexer
28+
shell: pwsh
3929
run: |
30+
$ErrorActionPreference = "Stop"
31+
$PSNativeCommandUseErrorActionPreference = $true
4032
mkdir build && cd build
41-
cmake -G "${{matrix.compiler}}" ..
33+
cmake -G "${{matrix.compiler}}" -DBUILD_ANN_INDEXES=builtin .. $env:EXTRA_FLAGS
4234
cmake --build . --config Release
4335
cmake --build . --config Release --target face
4436
cmake --build . --config Release --target swagger
@@ -47,14 +39,12 @@ jobs:
4739
build:
4840
strategy:
4941
matrix:
50-
os: [ubuntu-22.04, ubuntu-24.04, macos-13]
42+
os: [ubuntu-22.04, ubuntu-24.04, macos-15]
5143
include:
5244
- os: ubuntu-latest
5345
sanitizer: ASAN
5446
- os: ubuntu-latest
5547
sanitizer: TSAN
56-
cc: gcc-12
57-
cxx: g++-12
5848
fail-fast: false
5949
runs-on: ${{matrix.os}}
6050
env:
@@ -64,7 +54,7 @@ jobs:
6454
SANITIZER: ${{matrix.sanitizer}}
6555
steps:
6656
- name: Checkout repository
67-
uses: actions/checkout@v4
57+
uses: actions/checkout@v6
6858
- name: Prepare Environment
6959
run: |
7060
./.github/workflows/install_gtest.sh
@@ -82,7 +72,7 @@ jobs:
8272
mkdir build && cd build
8373
if [[ $OS == ubuntu-latest ]]; then
8474
if [[ $SANITIZER == 'ASAN' ]]; then
85-
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On -DGTEST_SKIP_SHARDING=On ..
75+
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On -DGTEST_SKIP_ASAN_MEMORY_HEAVY=On ..
8676
else
8777
cmake -DENABLE_GRPC=ON -DWITH_${{matrix.sanitizer}}=On ..
8878
fi
@@ -94,7 +84,7 @@ jobs:
9484
make -j4
9585
STRIP=/bin/true cpack
9686
- name: 'C++ tests'
97-
if: ${{ matrix.os == 'macos-13' }}
87+
if: ${{ matrix.os == 'macos-15' }}
9888
run: |
9989
echo "Running C++ directly in this job due to Action's problem with artifacts transition for macos-11 and macos-12 runners"
10090
cd build
@@ -105,7 +95,7 @@ jobs:
10595
rm -rf ./build/_CPack_Packages ./build/cpp_src/server/reindexer_server_resources
10696
tar -cvf artifacts.tar build/ bindings/builtin/builtin_posix.go bindings/builtinserver/builtinserver_posix.go dependencies.sh
10797
- name: Archive Artifacts
108-
uses: actions/upload-artifact@v4
98+
uses: actions/upload-artifact@v7
10999
with:
110100
name: ${{matrix.os}}${{matrix.sanitizer}}
111101
path: artifacts.tar
@@ -114,7 +104,7 @@ jobs:
114104
test:
115105
strategy:
116106
matrix:
117-
os: [ubuntu-22.04, ubuntu-24.04, macos-13]
107+
os: [ubuntu-22.04, ubuntu-24.04, macos-15]
118108
test: ['C++', 'GO']
119109
include:
120110
- os: ubuntu-latest
@@ -123,14 +113,12 @@ jobs:
123113
- os: ubuntu-latest
124114
sanitizer: ASAN
125115
test: 'GO'
126-
# - os: ubuntu-latest
127-
# sanitizer: TSAN
128-
# cc: gcc-12
129-
# cxx: g++-12
130-
# test: 'C++'
116+
# os: ubuntu-latest
117+
# test: 'C++'
131118
- os: ubuntu-latest
132119
sanitizer: TSAN
133120
test: 'GO'
121+
134122
fail-fast: false
135123
runs-on: ${{matrix.os}}
136124
needs: build
@@ -142,24 +130,24 @@ jobs:
142130
SANITIZER: ${{matrix.sanitizer}}
143131
steps:
144132
- name: Checkout repository
145-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
146-
uses: actions/checkout@v4
133+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
134+
uses: actions/checkout@v6
147135
- name: Install Go
148-
uses: actions/setup-go@v5
149-
if: ${{ matrix.os == 'macos-13' && matrix.test == 'GO' }}
136+
uses: actions/setup-go@v6
137+
if: ${{ matrix.os == 'macos-15' && matrix.test == 'GO' }}
150138
with:
151-
go-version: '1.22.x'
139+
go-version: '1.26.x'
152140
check-latest: true
153141
- name: Download ${{matrix.os}}${{matrix.sanitizer}} Artifacts
154-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
155-
uses: actions/download-artifact@v4
142+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
143+
uses: actions/download-artifact@v8
156144
with:
157145
name: ${{matrix.os}}${{matrix.sanitizer}}
158146
- name: 'Untar Artifacts'
159-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
147+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
160148
run: tar -xvf artifacts.tar
161149
- name: Prepare Environment
162-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
150+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
163151
env:
164152
OS: ${{matrix.os}}
165153
run: |
@@ -174,7 +162,7 @@ jobs:
174162
./.github/workflows/install_gtest_parallel.sh
175163
fi
176164
- name: Tests
177-
if: ${{ matrix.os != 'macos-13' || matrix.test == 'GO' }}
165+
if: ${{ matrix.os != 'macos-15' || matrix.test == 'GO' }}
178166
run: |
179167
if [[ $TEST == 'GO' ]]; then
180168
if [[ $SANITIZER == 'ASAN' ]]; then
@@ -183,7 +171,12 @@ jobs:
183171
if [[ -z "$SANITIZER" ]]; then
184172
go test -timeout 15m ./test/... -bench . -benchmem -benchtime 100ms -seedcount 50000
185173
else
186-
go test -timeout 35m ./test/... -bench . -benchmem -benchtime 100ms -seedcount 50000
174+
export TSAN_OPTIONS="halt_on_error=1 suppressions=$PWD/test/tsan/builtin.tsan.suppressions"
175+
mkdir gotests
176+
# Using preocompiled tests to get readable Thread sanitizer backtraces from builtin C++ library
177+
go test ./test/... -c -o gotests -tags tiny_vectors
178+
./gotests/test.test -test.timeout 35m -test.bench . -test.benchmem -test.benchtime 100ms -seedcount 50000
179+
./gotests/ft.test -test.bench . -test.benchmem -test.benchtime 100ms -seedcount 50000
187180
fi
188181
else
189182
cd build
@@ -202,7 +195,7 @@ jobs:
202195
OS: ${{matrix.os}}
203196
steps:
204197
- name: Download ${{matrix.os}} Artifacts
205-
uses: actions/download-artifact@v4
198+
uses: actions/download-artifact@v8
206199
with:
207200
name: ${{matrix.os}}
208201
- name: 'Untar Artifacts'
@@ -219,9 +212,9 @@ jobs:
219212
run: |
220213
cd build
221214
if [[ $OS == ubuntu* ]]; then
222-
sudo dpkg -i reindexer-4-dev*.deb
215+
sudo dpkg -i reindexer-dev*.deb
223216
sudo apt-get install -f
224-
sudo dpkg -i reindexer-4-server*.deb
217+
sudo dpkg -i reindexer-server*.deb
225218
sudo apt-get install -f
226219
else
227220
for f in reindexer-*.tar.gz; do tar -xvzf "$f"; done
@@ -236,15 +229,15 @@ jobs:
236229
cp ./usr/local/etc/reindexer.conf.pkg /usr/local/etc/reindexer.conf.pkg
237230
fi
238231
- name: Clone PyReindexer
239-
uses: actions/checkout@v4
232+
uses: actions/checkout@v6
240233
with:
241234
repository: restream/reindexer-py
242235
- name: Install PyReindexer
243236
run: |
237+
python -m pip install -r requirements.txt
244238
python -m build
245239
python -m pip install .
246240
- name: Test PyReindexer
247241
run: |
248242
cd pyreindexer
249243
../.github/workflows/test.sh
250-

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.idea/
22
.vscode/ipch
3+
.cursor/
34
reindexer.cbp
45
reindexer.iml
56
.DS_Store
@@ -8,6 +9,7 @@ logs
89

910
# ignore user's files
1011
*.user
12+
.tmp-*
1113

1214
# do not allow to commit binary and docs
1315

@@ -19,8 +21,8 @@ __pycache__
1921
*.so
2022
.pytest_cache/
2123
qa_tests/logs/
22-
qa_tests/logs/
2324
qa_tests/venv/
25+
qa_tests/.venv/
2426

2527
#ignore directory with compile commands
2628
.cache

CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
1-
cmake_minimum_required(VERSION 3.10..3.13)
1+
cmake_minimum_required(VERSION 3.18)
22

33
project(reindexer)
44

55
enable_testing()
66
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
77
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
8+
set(CMAKE_PCH_WARN_INVALID OFF)
89
set(REINDEXER_SOURCE_PATH ${PROJECT_SOURCE_DIR}/cpp_src)
10+
# Do not scan for C++ modules to save some overhead
11+
set(CMAKE_CXX_SCAN_FOR_MODULES OFF)
912

1013
add_subdirectory(cpp_src)
14+
15+
# uninstall target
16+
if(NOT TARGET uninstall)
17+
configure_file(
18+
"${PROJECT_SOURCE_DIR}/cpp_src/cmake/cmake_uninstall.cmake.in"
19+
"${PROJECT_BINARY_DIR}/cmake_uninstall.cmake"
20+
IMMEDIATE @ONLY)
21+
22+
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake)
23+
endif()

appveyor.yml

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

0 commit comments

Comments
 (0)