Problem with transferring changes to another site

Hi,

Our team is working on a project for Creatio 8.1.2 (for Linux and PostgreSQL). We collaborate using filesystem mode and save our changes in a Git repository. When uploading changes to the instance, we first perform the "Update packages from filesystem" operation, followed by "Compile." Our project currently consists of slightly over 30 packages. We have encountered several issues when transferring changes to other instances.

At a certain point, we started experiencing problems with uploading changes to the instances. This is particularly noticeable when creating new instances. After connecting the repository and performing "Update packages from filesystem" for the first time, numerous errors can be observed (by going to the /dev view, then selecting all packages and sorting by status in descending order). These errors include information about a broken constraint, a non-existent column in the database, etc. Following this lead, I hypothesized that during the "Update packages from filesystem" operation, many database connections are opened, exceeding the limit defined in the PostgreSQL configuration. I verified it, and the default max_connections option was set to 100. When I increased it to 300, the problem stopped occurring on newly created instances. However, it seems to me that it should not consume such a large number of connections, and I don't think continuously increasing this number is a good solution as our project grows. Is there any option in Creatio to fix it?

Some changes do not work immediately after being uploaded to a new instance. You need to go into the configuration of the specific element and perform the PUBLISH operation on the target instance. Sometimes (although rarely), the system informs us that a given business process requires re-publishing. More often, however, something doesn't work, and it's hard to know this normally. For example, a query to a web service returns 404, even though it was uploaded to the target instance, and the compilation was performed immediately after the upload. Performing a complete compilation does not solve this problem. I have to go into the class with the given web service and re-publish it. The problem is that whether something works after uploading the changes seems completely random. Sometimes restarting a container with creatio, redis and postgres help, but it's not a rule. We test the changes thoroughly on our own instances, but after uploading the changes to the client's production instance, they may not work. We would really have to perform full regression tests to detect all the problems, and this is cumbersome.

Do any of you have similar problems and know how to deal with them? Thanks in advance for your responses!

Like 4

Like

2 comments

Hi Eryk, 

Thank you for your thorough feedback, looking forward to an answer from Creatio because the phrase "The problem is that whether something works after uploading the changes seems completely random. Sometimes restarting a container with creatio, redis and postgres help, but it's not a rule. We test the changes thoroughly on our own instances, but after uploading the changes to the client's production instance, they may not work. We would really have to perform full regression tests to detect all the problems, and this is cumbersome." is exactly something we struggle with. 


More advanced documentation , training and tutorials from Creatio on how to handle this more effectively, ideally with some tools to avoid full manual regression tests, are more than welcome

Bookmarking this feed. 

Cheers, 

Damien

Dear Eryk,

Many connections are created to optimize the installation process. If this approach doesn't work for you, you can disable specific settings in the application's web.config file, reducing the number of connections.
 

Please disable the following features in the external \web.config:
 

UseAsyncSaveSchemaResourcesInstallation
UseBulkSaveSchemaResourcesInstallation
UseAsyncSchemaCaptionsInstallation
UseAsyncPackageInstallation
 

To do this, open the web.config file, locate the above settings, and set their values to false. The lines should look like this:

 

<add key="UseAsyncSaveSchemaResourcesInstallation" value="false" />
<add key="UseBulkSaveSchemaResourcesInstallation" value="false" />
<add key="UseAsyncSchemaCaptionsInstallation" value="false" />
<add key="UseAsyncPackageInstallation" value="false" />
 

After making these changes, please clear Redis, restart the application, perform a source code generation for all schemas, and compile all actions.
 

For any other issues, please create a support request with Creatio, which requires a more detailed investigation.

Best regards,
Andrii

Show all comments