git学习------> 解决Gitlab 版本升级之后,发送 merge request 出现 http 500 的返回码错误

原创 2017年08月12日 18:00:35

今天有同事在Gitlab上发送 Merge Request的时候,直接出现如下所示的界面,提示http 500,服务器内部出错。

这里写图片描述

一、错误描述

1.1 创建新的 Merge Request

这里写图片描述

1.2 填写 Merge Request 相关信息

这里写图片描述

1.3 发送 Merge Request ,出现500错误

这里写图片描述

1.4 登录管理员账户,在【Admin Area】–>【Monitoring】–>【Logs】–>【production.log】里面,搜索到错误信息如下所示:

这里写图片描述

错误描述部分信息如下:


Started POST "/ouyangpeng/Git_Test/merge_requests" for 172.28.10.196 at 2017-08-12 17:11:40 +0800

Processing by Projects::MergeRequests::CreationsController#create as HTML

Parameters: {"utf8"=>"✓", "authenticity_token"=>"GMvnXQk+gX5kdc0aQbuz0SSux4GjTuXk5IB+H6/yulW9uXljBSm0Vn8VcFWTE37eMSFCZMMwviuEF4irAFqD2Q==", "merge_request"=>{"title"=>"test user.name", "description"=>"merge from feature/test1 to develop", "assignee_id"=>"2", "label_ids"=>[""], "force_remove_source_branch"=>"0", "lock_version"=>"", "source_project_id"=>"40", "source_branch"=>"feature/test1", "target_project_id"=>"40", "target_branch"=>"develop"}, "namespace_id"=>"ouyangpeng", "project_id"=>"Git_Test"}

Completed 500 Internal Server Error in 65ms (ActiveRecord: 9.4ms)

ActiveRecord::StatementInvalid (PG::UndefinedColumn: ERROR: column "binary" of relation "merge_request_diff_files" does not exist

LINE 1: ...le", "renamed_file", "deleted_file", "too_large", "binary", ...

^

: INSERT INTO merge_request_diff_files ("diff", "new_path", "old_path", "a_mode", "b_mode", "new_file", "renamed_file", "deleted_file", "too_large", "binary", "merge_request_diff_id", "relative_order")

VALUES ('--- /dev/null

提示 binary 这个字段在关系表 merge_request_diff_files 中不存在。

ActiveRecord::StatementInvalid (PG::UndefinedColumn: ERROR: column "binary" of relation "merge_request_diff_files" does not exist

ps: 也可以在Gitlab部署的那台服务器上,运行下面的命令,查看Gitlab的运行日志

sudo gitlab-ctl tail

但是明明一个礼拜之前,我都测试了两次merge request 都是正常的,怎么突然就出现500了呢?

这里写图片描述

经过一个下午的排查,尝试过去修改Gitlab的数据库等都失败,最后发现那几次成功的发送merge request 是在gitlab 9.2.2的时候处理的。

这里写图片描述

但是现在Gitlab的版本是9.4.3
这里写图片描述

话说我也不记得是什么原因导致我去升级的。我也不记得当时我是如何升级Gitlab版本的了,然后就出现了现在的发送merge request 就出现http 500的返回码,表示服务器内部出错。

心中出现一万匹草泥马,这个该如何解决呢??

二、解决问题

在服务器上运行下面几条命令就成功解决了该问题

2.1 gitlab-rake gitlab:env:info

# 检查环境和配置是否正确
gitlab-rake gitlab:env:info

这里写图片描述

2.2 gitlab-rake gitlab:check

#检查,检查结果会告诉你如何纠正错误。
gitlab-rake gitlab:check   

这里写图片描述

这里写图片描述

2.3 gitlab-rake db:migrate

 #迁移完db后需要执行此步骤。
 gitlab-rake db:migrate   

这里写图片描述

2.4 gitlab-rake cache:clear

#清除缓存
# gitlab-rake cache:clear  

这里写图片描述

2.5 sudo gitlab-ctl reconfigure

# 应用重新配置
sudo gitlab-ctl reconfigure

这里写图片描述

这里写图片描述

2.6 sudo gitlab-ctl restart

# 重启 gitlab
sudo gitlab-ctl restart

这里写图片描述

我尝试敲完上面的命令之后,就正常了,下面我们来试一试重新发送 Merge Request

三、重新发送 Merge Request

3.1 创建新的 Merge Request

这里写图片描述

3.2 填写 Merge Request 相关信息,然后发送

这里写图片描述

3.3 收到 Merge Request 请求

这里写图片描述

3.4 查看Merge Request 请求相关信息

这里写图片描述

3.5 同意Merge Request 请求

这里写图片描述

3.6 Merge Request 处理完毕

这里写图片描述

四、总结

4.1 不要随便升级Gitlab版本

不要随便升级Gitlab版本,本来Gitlab 9.2.2运行的好好的,不知道那天突然自己发疯去升级Gitlab版本为9.4.3。Gitlab版本发布太快了,哪个版本运行稳定不要随便升级。

下面是从Gitlab 9.0.0 到 Gitlab 9.4.4的发布时间截图。

这里写图片描述

4.2 升级Gitlab版本请按官网教程来

2、如果要升级的话,一定要安装官方的教程来一步一步升级,我现在都记不得我是如何从9.2.2 升级到9.4.3的,尴尬。

https://about.gitlab.com/2017/08/10/gitlab-9-dot-4-dot-4-released/

这里写图片描述

按如上图所示,如果要升级的话不要直接跨大版本升级,有可能遇到很多未知的bug,告诉你网上基本上没有答案解决,坑爹,我在google和百度上找了一下午都找不到满意的答案。

比如你升级的话,先从9.2.0升级到9.3.0再升级到9.4.0 不要一步就升级完。

4.3

即使真的出现问题,也别怕,可以一步一步尝试,最终还是会解决的!

参考链接


这里写图片描述

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/77124597

如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。

这里写图片描述

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng】

在导入新项目之后出现Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 Bad Request”的错误

最近更新了一下Android Studio,在导入新项目之后出现Error:Unable to tunnel through proxy. Proxy returns “HTTP/1.1 400 ...

Cocos2dx 2.12版本升级之后,如何新建项目

公司开发都是两台机器,内网用的cocos2dx版本比较旧,所以一直使用VS 新建模板项目 来做的。 最近想在外面测试东西的时候,才发现下载比较新的版本cocos2dx .2.2.2 时,不能在VS上生...

Cocoapods大版本升级到1.0之后的问题

前言Cocoapods是比较好用的第三方框架管理工具。唯一蛋疼的是速度update的时候速度太慢,当然是用离线模式(–no-repo-update)可以加快速度,但是真正需要更新的时候,真的就只能花半...

admob xcode升级问题从早期版本升级到新版本出现的错误

拿到个项目之前接入的是早期的admob库 后面想更新下

Xcode 版本升级常见错误及警告

从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了。 1,警告:“xoxoxoxo”  is deprecated 解决办法:查看xoxoxoxo的这个方法的文...
  • gh147
  • gh147
  • 2015年02月03日 17:53
  • 198

服务器出现 HTTP 400、404、500、502 错误原因及解决方法

基本涵盖了所有问题HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源HT...

IIS7/8 出现HTTP 500内部服务器错误解决方案

服务器上安装了IIS7,部署了一个网站。运行提示:500 - 内部服务器错误!!郁闷了好久,终于解决了。下边就分享一下步骤: 1 访问提示错误如下: 2 进入服务器,打开...

关于db版本升级之后ogg版本也升级时,配置DDL复制时脚本的问题

关于db版本升级之后ogg版本也升级的问题

解决因flash版本升级而导致FaustCplus生成不了预览图片的问题

昨天经理反映说,项目

jquery版本升级引发的问题和解决方法

jQuery 2.0将移除对IE6/IE7/IE8的支持 近日,jQuery Core团队发布了jQuery 1.8 Beta 1。其代码位于jQuery CDN上,地址是http://code...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git学习------> 解决Gitlab 版本升级之后,发送 merge request 出现 http 500 的返回码错误
举报原因:
原因补充:

(最多只允许输入30个字)