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

Make it possible to use API to do remote backups/restores [CORE2666] #3070

Closed
firebird-automations opened this issue Oct 5, 2009 · 25 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Poul Dige (tabulex)

Is related to CORE2984
Block progress on JDBC256
Replaces CORE762
Is related to QA619

Attachments:
2666.patch
2666-with-restore.patch.bz2

Votes: 3

Today you can use the API remotely to create a serverside backup. You can use GBAK to create a remote backup (e.g. via Internet). But you can't use API to create remote backup, i.e. create a backup serverside and flush it to the client.

As using GBAK is very very slow over internet (testcase 10MB database backup takes less than 2 seconds when done locally, and more than 5 minutes through a 20MBit internet connection) ) it is a must to improve this function to make it possible to offer remote hosting for customers.

Commits: e74a496 477e14a

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Open [ 1 ]

Target: 3.0.0 [ 10048 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Poul, I've marked it as planned for 3.0, but this does not mean that private build of 2.5 for you is not possible. Let's return to it after 2.5 official release.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

This patch for firebird 2.5 makes it possible to do fast backup of databases, using services.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Attachment: 2666.patch [ 11613 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Link: This issue is related to CORE2984 [ CORE2984 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Patch with restore should be applied to clean 2.5 sources.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Attachment: 2666-with-restore.patch.bz2 [ 11941 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: PizzaProgram Ltd. (szakilaci)

Is it possible to include this feature in 2.5 final binary? (Not just as a patch? Sorry, I don't know, how to apply it.)
Would be nice, if it would be "official".
It's hard to locate the proper gbak.exe, becase of too many directory variants in "Win" enviroment.
Waiting for this possibility since 1.0 version.
Also would be nice, if would be able to send/recieve as a stream, to be able to de/encrypt the .fbk file in real time, before opening/saving from/to client's hdd.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Code has been well tested by IbPhoenix customers, therefore currently it seems OK to add this feature to 2.5 branch. Specially taking into an account that we already have some new features in it.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Open [ 1 ]

Fix Version: 2.5.2 [ 10450 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

Alex, some docs about the feature is needed for this to be included into the v2.5 branch.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Certainly
Moreover - we have a kind of, written for IbPhoenix clients

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

In order to be included into 2.5.2, the patch must be immediately ready. Ideally, it should also be committed into FB3, so that it was known to be compatible with the new architecture as well. Otherwise, it has to wait until 2.5.3.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @mrotteveel

Link: This issue block progress on JDBC256 [ JDBC256 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Denis Pereira Raymundo (denistek)

I think this feature makes room for weakness in Firebird. For if a person anywhere in the world to discover the path of the database, which is not very hard, and find the password, get an updated copy of data whenever it wants. Before one had to be physically on site database or getting a remote access, which was much more difficult.

I think it should have a setting in firebird to accept doing this type of operation or not. So we could enable it when needed.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Read carefully issue name - "to use API". It was possible to use gbak utility to do remote backups since first FB days and even before. The reason to use services API is just to make it a bit faster.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Link: This issue replaces CORE762 [ CORE762 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: PizzaProgram Ltd. (szakilaci)

Can someone please write an example here how to call this new feature from API ?
Is there already any know Delphi component that can handle it?
Thanks !

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

From doc/README.services_extension:
"A sample of how services API should be used for remote backup and restore can be found in source code of fbsvcmgr."
It's very simple (not to say trivial) utility, separate _working_ sample will not be easier to understand.

What about delphi - no idea, and not good place to ask.

@firebird-automations
Copy link
Collaborator Author

Commented by: @pmakowski

About Delphi, you can check UIB, usually it is up to date for all API
just do a check out from the repository : http://sourceforge.net/projects/uib/develop

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

Link: This issue is related to QA619 [ QA619 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

QA Status: No test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants