Hello Ana,

I've just opened a bug report. Thanks for suggesting it!

We have a huge Bacula database and moving to PostgreSQL would be a pain. So
I'd rather wait for the bug report. :)

I'm also corresponding on the Bacula-devel mailing list. Another
investigation is in progress too.

But anyway, thank you for your help. I'll let you know how the bug
report goes.

Best regards,
Zsolt

On Fri, Jan 13, 2023 at 9:52 AM Ana Emília M. Arruda <emiliaarr...@gmail.com>
wrote:

> Hello Zsolt,
>
> Right, thanks a lot for the quick test. The issue is clearly related to
> the MySQL/MariaDB bacula database:
>
>  Fatal error: sql_create.c:1273 Create db Object record INSERT INTO
> RestoreObject
> (ObjectName,PluginName,RestoreObject,ObjectLength,ObjectFullLength,ObjectIndex,ObjectType,ObjectCompression,FileIndex,JobId)
> VALUES ('RestoreOptions','kubernetes: debug=1
> baculaimage=repo/bacula-backup:04jan23 namespace=some pvcdata
> pluginhost=kubernetes.server timeout=120 verify_ssl=0
> fdcertfile=/etc/bacula/certs/bacula-backup.cert
> fdkeyfile=/etc/bacula/certs/bacula-backup.key','# Plugin configuration
> file\n# Version 1\nOptPrompt=\"K8S config
> file\"\nOptDefault=\"*None*\"\nconfig=@STR@\n\nOptPrompt=\"K8S API server
> URL/Host\"\nOptDefault=\"*None*\"\nhost=@STR@\n\nOptPrompt=\"K8S
> Bearertoken\"\nOptDefault=\"*None*\"\ntoken=@STR@\n\nOptPrompt=\"K8S API
> server cert 
> verification\"\nOptDefault=\"True\"\nverify_ssl=@BOOL@\n\nOptPrompt=\"Custom
> CA Certs file to 
> use\"\nOptDefault=\"*None*\"\nssl_ca_cert=@STR@\n\nOptPrompt=\"Output
> format when saving to file (JSON,
> YAML)\"\nOptDefault=\"RAW\"\noutputformat=@STR@\n\nOptPrompt=\"The
> address for listen to incoming backup pod
> data\"\nOptDefault=\"*FDAddress*\"\nfdaddress=@STR@\n\nOptPrompt=\"The
> port for opening socket for 
> listen\"\nOptDefault=\"9104\"\nfdport=@INT32@\n\nOptPrompt=\"The
> endpoint address for backup pod to
> connect\"\nOptDefault=\"*FDAddress*\"\npluginhost=@STR@\n\nOptPrompt=\"The
> endpoint port to 
> connect\"\nOptDefault=\"9104\"\npluginport=@INT32@\n\n',859,859,0,27,0,1,411957)
> failed. ERR=Data too long for column 'PluginName' at row 1
>
> Would it be possible for you to open a bug report so developers can help
> you on this one?
>
> If you can move to a PostgreSQL database, it is very probable the pvcdata
> backup will work fine.
>
> Best,
> Ana
>
>
>
> On Fri, Jan 13, 2023 at 9:09 AM Zsolt Kozak <koza...@gmail.com> wrote:
>
>> Hello Ana!
>>
>> I've just removed the backslashes and rerun the job but unfortunately the
>> error is still there.
>>
>> Here is a brand new error message from Bacula.
>>
>> Best regards,
>> Zsolt
>>
>> bacula-fd kubernetes: Processing namespace: some
>>  kubernetes: Start backup volume claim: some-claim
>>  kubernetes: Prepare Bacula Pod on: node with: repo/bacula-backup:04jan23
>>  kubernetes.server:9104
>>  kubernetes: Connected to Kubernetes 1.25 - v1.25.4.
>> bacula-sd Ready to append to end of Volume "Full-0513" size=1,680,733,693
>> node-fd
>> Error: Read error on file
>> /@kubernetes/namespaces/some/persistentvolumeclaims/some-claim.tar.
>> ERR=Input/output error
>>
>> Error: kubernetes: ConnectionServer: Timeout waiting...
>>
>> Error: kubernetes: PTCOMM cannot get packet header from backend.
>> bacula-sd Sending spooled attrs to the Director. Despooling 11,646 bytes
>> ...
>> node-fd
>> Error: kubernetes: Unable to remove proxy Pod bacula-backup! Other
>> operations with proxy Pod will fail!
>> bacula-dir Fatal error: catreq.c:680 Restore object create error.
>>
>> Error: Bacula Enterprise bacula-dir 13.0.1 (05Aug22):
>>   Build OS:               x86_64-pc-linux-gnu-bacula-enterprise debian
>> 11.2
>>   JobId:                  411957
>>   Job:                    KubernetesBackup.2023-01-13_08.45.44_07
>>   Backup Level:           Full
>>   Client:                 "bacula-fd" 13.0.1 (05Aug22)
>> x86_64-pc-linux-gnu-bacula-enterprise,debian,10.11
>>   FileSet:                "Kubernetes Set" 2023-01-13 08:39:12
>>   Pool:                   "Full-Pool-Internal" (From Job FullPool
>> override)
>>   Catalog:                "MyCatalog" (From Client resource)
>>   Storage:                "InternalStorageFull" (From Pool resource)
>>   Scheduled time:         13-Jan-2023 08:45:41
>>   Start time:             13-Jan-2023 08:45:47
>>   End time:               13-Jan-2023 08:51:51
>>   Elapsed time:           6 mins 4 secs
>>   Priority:               10
>>   FD Files Written:       34
>>   SD Files Written:       0
>>   FD Bytes Written:       76,496 (76.49 KB)
>>   SD Bytes Written:       0 (0 B)
>>   Rate:                   0.2 KB/s
>>   Software Compression:   100.0% 1.0:1
>>   Comm Line Compression:  2.6% 1.0:1
>>   Snapshot/VSS:           no
>>   Encryption:             yes
>>   Accurate:               yes
>>   Volume name(s):         Full-0513
>>   Volume Session Id:      559
>>   Volume Session Time:    1672853724
>>   Last Volume Bytes:      1,680,850,542 (1.680 GB)
>>   Non-fatal FD errors:    7
>>   SD Errors:              0
>>   FD termination status:  OK
>>   SD termination status:  SD despooling Attributes
>>   Termination:            *** Backup Error ***
>>  Fatal error: sql_create.c:1273 Create db Object record INSERT INTO
>> RestoreObject
>> (ObjectName,PluginName,RestoreObject,ObjectLength,ObjectFullLength,ObjectIndex,ObjectType,ObjectCompression,FileIndex,JobId)
>> VALUES ('RestoreOptions','kubernetes: debug=1
>> baculaimage=repo/bacula-backup:04jan23 namespace=some pvcdata
>> pluginhost=kubernetes.server timeout=120 verify_ssl=0
>> fdcertfile=/etc/bacula/certs/bacula-backup.cert
>> fdkeyfile=/etc/bacula/certs/bacula-backup.key','# Plugin configuration
>> file\n# Version 1\nOptPrompt=\"K8S config
>> file\"\nOptDefault=\"*None*\"\nconfig=@STR@\n\nOptPrompt=\"K8S API
>> server URL/Host\"\nOptDefault=\"*None*\"\nhost=@STR@\n\nOptPrompt=\"K8S
>> Bearertoken\"\nOptDefault=\"*None*\"\ntoken=@STR@\n\nOptPrompt=\"K8S API
>> server cert 
>> verification\"\nOptDefault=\"True\"\nverify_ssl=@BOOL@\n\nOptPrompt=\"Custom
>> CA Certs file to 
>> use\"\nOptDefault=\"*None*\"\nssl_ca_cert=@STR@\n\nOptPrompt=\"Output
>> format when saving to file (JSON,
>> YAML)\"\nOptDefault=\"RAW\"\noutputformat=@STR@\n\nOptPrompt=\"The
>> address for listen to incoming backup pod
>> data\"\nOptDefault=\"*FDAddress*\"\nfdaddress=@STR@\n\nOptPrompt=\"The
>> port for opening socket for 
>> listen\"\nOptDefault=\"9104\"\nfdport=@INT32@\n\nOptPrompt=\"The
>> endpoint address for backup pod to
>> connect\"\nOptDefault=\"*FDAddress*\"\npluginhost=@STR@\n\nOptPrompt=\"The
>> endpoint port to 
>> connect\"\nOptDefault=\"9104\"\npluginport=@INT32@\n\n',859,859,0,27,0,1,411957)
>> failed. ERR=Data too long for column 'PluginName' at row 1
>> bacula-sd Elapsed time=00:06:04, Transfer rate=310  Bytes/second
>> bacula-fd
>> Error: kubernetes: Error closing backend. Err=Child exited with code 1
>>
>> Error: kubernetes: PTCOMM cannot get packet header from backend.
>>
>> On Thu, Jan 12, 2023 at 11:48 PM Ana Emília M. Arruda <
>> emiliaarr...@gmail.com> wrote:
>>
>>> Hello Zsolt,
>>>
>>> It seems to me that Bacula is trying to insert into the "PluginName"
>>> field the value "kubernetes: \n            debug=1 \n
>>>  baculaimage=repo/bacula-backup:04jan23 \n            namespace=namespace
>>> \n            pvcdata \n
>>> pluginhost=kubernetes.server \n            timeout=120 \n
>>>  verify_ssl=0 \n            fdcertfile=/etc/bacula/certs/bacula-backup.cert
>>> \n
>>> fdkeyfile=/etc/bacula/certs/bacula-backup.key". When it should be
>>> "kubernetes" only.
>>>
>>> We can see the error here:
>>>
>>> bacula-dir Fatal error: sql_create.c:1273 Create db Object record INSERT
>>> INTO RestoreObject
>>> (ObjectName,PluginName,RestoreObject,ObjectLength,ObjectFullLength,ObjectIndex,ObjectType,ObjectCompression,FileIndex,JobId)
>>>
>>> VALUES ('RestoreOptions','kubernetes: \n            debug=1 \n
>>>  baculaimage=repo/bacula-backup:04jan23 \n            namespace=namespace
>>> \n            pvcdata \n
>>> pluginhost=kubernetes.server \n            timeout=120 \n
>>>  verify_ssl=0 \n            fdcertfile=/etc/bacula/certs/bacula-backup.cert
>>> \n
>>> fdkeyfile=/etc/bacula/certs/bacula-backup.key','# Plugin configuration
>>> file\n# Version 1\nOptPrompt=\"K8S config
>>> file\"\nOptDefault=\"*None*\"\nconfig=@STR@\n\n
>>> OptPrompt=\"K8S API server 
>>> URL/Host\"\nOptDefault=\"*None*\"\nhost=@STR@\n\nOptPrompt=\"K8S
>>> Bearertoken\"\nOptDefault=\"*None*\"\ntoken=@STR@\n\nOptPrompt=\"K8S
>>> API server cert verification\"\n
>>> OptDefault=\"True\"\nverify_ssl=@BOOL@\n\nOptPrompt=\"Custom CA Certs
>>> file to 
>>> use\"\nOptDefault=\"*None*\"\nssl_ca_cert=@STR@\n\nOptPrompt=\"Output
>>> format when saving to file (JSON, YAML)\"\n
>>> OptDefault=\"RAW\"\noutputformat=@STR@\n\nOptPrompt=\"The address for
>>> listen to incoming backup pod
>>> data\"\nOptDefault=\"*FDAddress*\"\nfdaddress=@STR@\n\n
>>> OptPrompt=\"The port for opening socket for
>>> listen\"\nOptDefault=\"9104\"\nfdport=@INT32@\n\nOptPrompt=\"The
>>> endpoint address for backup pod to connect\"\n
>>> OptDefault=\"*FDAddress*\"\npluginhost=@STR@\n\nOptPrompt=\"The
>>> endpoint port to connect\"\nOptDefault=\"9104\"\n
>>> pluginport=@INT32@\n\n',859,859,0,27,0,1,410830) failed. ERR=Data too
>>> long for column 'PluginName' at row 1
>>>
>>> Do you think you could perform a test removing the backslashes in the
>>> plugin line in the FileSet configuration?
>>> -----8<-----
>>> FileSet {
>>>     Name = "Kubernetes Set"
>>>     Include {
>>>         Options {
>>>             signature = SHA512
>>>             compression = GZIP
>>>             Verify = pins3
>>>         }
>>>         Plugin = "kubernetes: \
>>>             debug=1 \
>>>             baculaimage=repo/bacula-backup:04jan23 \
>>>             namespace=namespace \
>>>             pvcdata \
>>>             pluginhost=kubernetes.server \
>>>             timeout=120 \
>>>             verify_ssl=0 \
>>>             fdcertfile=/etc/bacula/certs/bacula-backup.cert \
>>>             fdkeyfile=/etc/bacula/certs/bacula-backup.key"
>>>     }
>>> }
>>>
>>> -----8<-----
>>> Please keep everything in a single line and let me know if it works.
>>> Then, we can check why using backslashes is not working to break long lines
>>> here.
>>> Best regards,
>>> Ana
>>>
>>>
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to