Skip to content
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

Revision checkout does not work properly #1272

Open
michelespinella opened this issue Sep 16, 2022 · 9 comments
Open

Revision checkout does not work properly #1272

michelespinella opened this issue Sep 16, 2022 · 9 comments

Comments

@michelespinella
Copy link

michelespinella commented Sep 16, 2022

Good day,
when I try to checkout a model specifying roid, serializerOid and sync flag I get this error:

Request:

{
  "token": "f5a2bfc048d8c86eaeeea25c06d2f10ee840b40d467938e1e5be6cd8b06f10e73119c37701c4e8eae2d40087d0805db5",
  "request": {
    "interface": "ServiceInterface", 
    "method": "checkout", 
    "parameters": {
      "roid": 65539,
      "serializerOid": 262182,
      "sync": "true"
    }
  }
}

Response:

{
	response: {
		exception: {
			__type: 'UserException',
			message: 'Only IFC or IFCXML allowed when checking out'
		}
	}
}

I am sure that the model/ifc-file is consistent and correct, I have checked the serializer and is enabled and the roid is correct.

Referring to #736 I have read that the checkout is not used anymore, but I am developing a backgroud job that write data in the model/ifc-file, this job first operate a checkout/download after the computation execute a checkin, than I want to lock the revision in same way, while the job is working.

If the checkout is a "deprecated" function how I can lock the revision? If there are not solution on board I will write in database the lock, do you have any suggestions or ideas?

Kind regards and thanks for the support
Michele Spinella

@hlg
Copy link
Member

hlg commented Sep 16, 2022

Issue #736 was fixed with commit 3c12d4c, but only for non-streaming serializers. The fix is not in release 1.5.182 though.

@michelespinella
Copy link
Author

Good morning and thanks. Maybe I can do my build of bimserver and release a new version?
Thanks

@michelespinella
Copy link
Author

Good morning,
I have cloned the code of bimserver and built it with mvn package -DskipTests because there was some failures in tests, is this correct? As now I have obtained the WAR to deploy.
Any suggestions?
Thanks and kind regards
Michele Spinella

@hlg
Copy link
Member

hlg commented Sep 16, 2022

There are some tests that need a running BIMserver. Probably those are the source of the failure you see. Building the snapshot version with the skipTests option is fine and should leave you with the JAR and WAR package for further usage and deployment. Once we release version 1.5.183, it will contain the various bug fixes since mid 2020.

@michelespinella
Copy link
Author

Good day,
I have built the server version 1.5.183, Have I to use bimserverclientlib 1.5.183 or can I use clientlib 1.5.182?
Thanks and regards
Michele

@hlg
Copy link
Member

hlg commented Sep 27, 2022

There have been some changes in the client library as well, but I think those are quite isolated from the server-side changes. So, at the moment I think, in general, either cient lib version should work with the server snapshot build. Be aware that the client library module depends on the shared and pluginbase modules. Thus if your client application uses the snapshot version of the client library, it also needs snapshot versions of the shared and pluginbase modules.

@michelespinella
Copy link
Author

Client side I am using only the clientlib and not plugins.

@zaqifathis
Copy link
Collaborator

I do not get the issue with latest BIMserver 1.5.185. It works well for non-streaming serializers.

I will close this issue, but please reopen if you still have the same issue.

@hlg
Copy link
Member

hlg commented Nov 27, 2024

Checkout is not deprecated, but we assumed it was not used much and as such it is not well-tested. Some people think checkout is the same as download and they don't need the additional locking. But in your case, you obviously want to lock the revision explicitly. If that is still needed as a feature, we should make sure that it also works with the streaming serializers. It seems this is just not implemented. I'll keep this feature open.

@hlg hlg reopened this Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants