Hello,
after a backup, my script does a list backup (barman list-backup all). But I get this error for one server, that has the biggest backup (about 60 Gb) :
EXCEPTION: cannot parse line: '0000'
See log file for more details.
In log, I read this :
2014-07-04 12:08:54,108 barman.cli ERROR: cannot parse line: '0000'
See log file for more details.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/barman/cli.py", line 574, in main
p.dispatch(pre_call=global_config, output_file=_output_stream)
File "/usr/lib/python2.7/dist-packages/argh/helpers.py", line 53, in dispatch
return dispatch(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/argh/dispatching.py", line 124, in dispatch
for line in lines:
File "/usr/lib/python2.7/dist-packages/argh/dispatching.py", line 200, in _execute_command
for line in result:
File "/usr/lib/python2.7/dist-packages/argh/dispatching.py", line 156, in _call
result = args.function(args)
File "/usr/lib/python2.7/dist-packages/barman/cli.py", line 161, in list_backup
server.list_backups()
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 744, in list_backups
wal_info = self.get_wal_info(backup)
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 852, in get_wal_info
for name, size in self.get_wal_until_next_backup(backup_info):
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 828, in get_wal_until_next_backup
name, size, _, _ = self.xlogdb_parse_line(line)
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 932, in xlogdb_parse_line
raise ValueError("cannot parse line: %r" % (line,))
ValueError: cannot parse line: '0000'
The backup has finished normally :
2014-07-04 10:45:42,148 barman.backup INFO: copying config_file as outside /srv/soldirhost-app/pgdata directory
2014-07-04 10:45:43,065 barman.backup INFO: copying hba_file as outside /srv/soldirhost-app/pgdata directory
2014-07-04 10:45:44,399 barman.backup INFO: copying ident_file as outside /srv/soldirhost-app/pgdata directory
2014-07-04 10:45:45,706 barman.backup INFO: Copy done.
2014-07-04 10:45:45,708 barman.backup INFO: Asking PostgreSQL server to finalize the backup.
2014-07-04 10:45:56,138 barman.backup INFO: Backup end at xlog location: 511/7D03E6C8 (00000001000005110000007D, 0003E6C8)
2014-07-04 10:45:56,139 barman.backup INFO: Backup completed
This is the second time I get this error. The first, I thought that was caused by a problem of disk space. I delete all backup (actually I moved them and delete only the oldest), and all run correctly at new. My disk keep enough space for more than one backup, and barman cron keep enough space by deleting oldest. But the error came at new, for list-backup abd show-backup.
I get it when I want show latest and previous backup, but not for older, and neither for list backup of other servers.
I tried to recover the backup, I get this error :
EXCEPTION: /srv/backup-pg/barman/.soldirhost-cron.lock
See log file for more details.
I read the cron lock file, it was empty. I rename this file, recover process start normally (I interrupted it with CTRL-C). But now, when I list backup, I get :
EXCEPTION: cannot parse line: '000000010000050F000000B3\t2794634\t1404461863.000000010000050B00000040.00000020.backup\t248\t1404470746.0\tbzip2\n'
See log file for more details.
And in log :
2014-07-04 12:50:50,328 barman.cli ERROR: cannot parse line: '000000010000050F000000B3\t2794634\t1404461863.000000010000050B00000040.00000020.backup\t248\t1404470746.0\tbzip2\n'
See log file for more details.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/barman/cli.py", line 574, in main
p.dispatch(pre_call=global_config, output_file=_output_stream)
File "/usr/lib/python2.7/dist-packages/argh/helpers.py", line 53, in dispatch
return dispatch(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/argh/dispatching.py", line 124, in dispatch
for line in lines:
File "/usr/lib/python2.7/dist-packages/argh/dispatching.py", line 200, in _execute_command
for line in result:
File "/usr/lib/python2.7/dist-packages/argh/dispatching.py", line 156, in _call
result = args.function(args)
File "/usr/lib/python2.7/dist-packages/barman/cli.py", line 161, in list_backup
server.list_backups()
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 744, in list_backups
wal_info = self.get_wal_info(backup)
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 852, in get_wal_info
for name, size in self.get_wal_until_next_backup(backup_info):
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 828, in get_wal_until_next_backup
name, size, _, _ = self.xlogdb_parse_line(line)
File "/usr/lib/python2.7/dist-packages/barman/server.py", line 932, in xlogdb_parse_line
raise ValueError("cannot parse line: %r" % (line,))
ValueError: cannot parse line: '000000010000050F000000B3\t2794634\t1404461863.000000010000050B00000040.00000020.backup\t248\t1404470746.0\tbzip2\n'
I will do the same thing the last time (remove all backup and free space on disk), but what is wrong ? And did I do an error by deleting cron lock file or interrupting recover process ?
Thanks for your help, Denis