-
Notifications
You must be signed in to change notification settings - Fork 15
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
After upgrade CRUD from 0.10.0 to 1.4.2 we got errors for different operations for old spaces. #416
Comments
Can you describe the upgrade process? Does it involves having an intermediate cluster with 0.10.0 routers and 1.4.2 storages? Vice versa? Mixed 0.10.0 and 1.4.2 storage replicasets? Code hot reload? It also would be nice to provide the example of operations you have called to trigger the errors. Also, please provide It's rather hard to understand what exactly had happened based on error messages, but it seems that |
@DifferentialOrange ss usually we change version at rockspec file, build rpm by ci/cd and install at test servers. After install rpm each instance was restarted. This errors reproduces at dev zone.
After that change at rockspec 'crud == 1.4.2'.
|
Its working correctly only if you remove .rocks at project in dev or at dirrectory prodject before install rpm. |
Well, having two |
But why it happends? |
Let's explore whether you really have several local _ = require('crud')
local response = {}
for package_name, package_contents in pairs(package.loaded) do
if package_name:find('crud') ~= nil and type(package_contents) == 'table' then
for field_name, field in pairs(package_contents) do
if type(field) == 'function' then
local source = debug.getinfo(field).source
table.insert(response, {
['package'] = package_name,
['function'] = field_name,
source = source,
})
end
end
end
end
return response Running this script should explore what files were used to load the modules, If |
|
Thank you for the insights! It seems that all of your files are from the same source, so the assumption about two crud installations on the server is wrong. On the other hand, rock contents itself is seem to be broken. You have |
Our ci/cd process use cartridge pack for every build at new clean directory. May be it happend because yum not remove existing direcoty aready installed project? |
It may be, but it's still weird that you not only have |
|
Everything seems fine here, so it is likely that issue happens on the installation stage. |
But if ci/cd remove /usr/share/tarantool/tarantool_pep/.rocks/ directory. everething will be ok. or may be you have another idea to solve this problem? |
I had failed to reproduce installation issue with cartridge-cli 2.12.10, Fedora 36 and dnf. Please, provide info on your toolchain. Create application cartridge create --name=myapp
cd ./myapp Create v1 package git diff
diff --git a/myapp-scm-1.rockspec b/myapp-scm-1.rockspec
index a186c50..1e923b1 100644
--- a/myapp-scm-1.rockspec
+++ b/myapp-scm-1.rockspec
@@ -12,6 +12,7 @@ dependencies = {
'metrics == 1.0.0-1',
'cartridge-metrics-role == 0.1.1-1',
'cartridge-cli-extensions == 1.1.1-1',
+ 'crud == 0.10.0-1',
}
build = {
type = 'none'; cartridge pack rpm --version=0.1.0 Create v2 package git diff
diff --git a/myapp-scm-1.rockspec b/myapp-scm-1.rockspec
index a186c50..1e923b1 100644
--- a/myapp-scm-1.rockspec
+++ b/myapp-scm-1.rockspec
@@ -12,6 +12,7 @@ dependencies = {
'metrics == 1.0.0-1',
'cartridge-metrics-role == 0.1.1-1',
'cartridge-cli-extensions == 1.1.1-1',
+ 'crud == 1.4.2-1',
}
build = {
type = 'none'; cartridge pack rpm --version=0.2.0 Check v1 package rpm -qlp ./myapp-0.1.0-1.x86_64.rpm | grep ".rocks/share/tarantool/crud/common/sharding/init.lua"
rpm -qlp ./myapp-0.1.0-1.x86_64.rpm | grep ".rocks/share/tarantool/crud/common/sharding.lua"
/usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding.lua Check v2 package rpm -qlp ./myapp-0.2.0-1.x86_64.rpm | grep ".rocks/share/tarantool/crud/common/sharding/init.lua"
/usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding/init.lua
rpm -qlp ./myapp-0.2.0-1.x86_64.rpm | grep ".rocks/share/tarantool/crud/common/sharding.lua" Store artifacts cp ./myapp-0.* ../artifacts/ Start a dev container docker run -it -v `pwd`/artifacts:/artifacts fedora:36 Prepare for installation curl -L https://tarantool.io/release/2/installer.sh | bash Install v1 package dnf install /artifacts/myapp-0.1.0-1.x86_64.rpm -y Check v1 installation [root@8d7fb5160fd8 /]# ls /usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding.lua
/usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding.lua
[root@8d7fb5160fd8 /]# ls /usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding/init.lua
ls: cannot access '/usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding/init.lua': No such file or directory Install v2 package dnf install /artifacts/myapp-0.2.0-1.x86_64.rpm -y Check v2 installation [root@8d7fb5160fd8 /]# ls /usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding.lua
ls: cannot access '/usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding.lua': No such file or directory
[root@8d7fb5160fd8 /]# ls /usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding/init.lua
/usr/share/tarantool/myapp/.rocks/share/tarantool/crud/common/sharding/init.lua |
Will close this one soon if no further information will be provided. |
We have old prodject with crud 0.10.0.
After upgrade dependency to 1.4.2 we got a errors for different operation.
After return 0.10.0 we don't have errors.
Why?
cartridge == 2.8.4
The text was updated successfully, but these errors were encountered: