Error 401 Unauthorized.-JMeter 5.4 y Microsoft JDBC Driver para SQL Server (Java 8 y Java 11)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
调研方向
从 JMeter 5.4 文件夹、bin 中的 JDBC JAR 以及 CI 执行日志开始。使用 Java 8 和 Java 11 重现列出的场景,比较 401 响应与 Delete、Update 和 Insert 操作的数据库连接行为。当 CI 能够稳定运行且没有 401 错误,并且所有数据库语句都执行完成时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Expected behavior
Al automatizar escenarios en JMeter en los cuales se establece la conexion bases de datos y se ejecutan sentencias SQL,se requirio agregar el conector Microsoft JDBC Driver para SQL Server tanro wen Java 8 como en java 11 . Al ejecutar los escenarios localmente y en Integracion Continua (Azure) estos deben ejecutarse sin presentarse ningun error o novedad.
Independientemente que la version de JMeter usada en Integracion Continua es antigua, debe existir un conector de SQL Server JDBC compatible, que permita establecer desde JMter la conexion a la BD y la posterior ejecucion de las sentencias o scripts .
Actual behavior
Actualmente al ejecutar los escenarios en integracion continua con JMeter 5.4 y el conector SQL Server JDBC version mssql-jdbc-12.6.2.jre11 se presenta la siguiente novedad: En un escenario que busca establecer la conexion de BD y ejecutar 2 sentencias para eliminar un usuario (Delete) , se ejeucta pero no se conecta a la BD y por ende no se ejeuctan las sentencias. Se cambio el conector mssql-jdbc-12.6.2.jre8 y al lanzarse nuevamente en Integracion Continua se evidencia que en el escenario antes mencionado si se establece la conexion a la BD y se ejecutan las sentencias SQl y por ende se elimina el usuario.Pero falla un escenario que no usa conexion a BD y al validar se recibe un codigo de error 401 Unauthorized. Se verico el escenario que falo y se comprobo que ese error no es por algun tema relacionado con su funcionalida o con problemas de autentciacion. De hecho ese e escneario ejeucta y paso sin problemas localmente y al lanzarse en Inetegracion continua con conectores SQL Server JDBC pero para Java 11.
En conclusion: Al usar conectores SQL Server JDBC de diferentes versiones pero en Java 8 en JMeter version 5.4 , se establece de forma correcta la conexion a la BD y se ejecutan los scripts o senetencias SQL, pero se afectan escenarios que ya funcionaban , generando un codigo de error 401 Unauthorized. De hecho se hizo una prueba desactivando el escenario que inicialmente se ve afectado por el 401 , se desactivo y se volviieron a lanzar los escenarios y se presento que fallo otro escenario y por lo mismo. Es decir si en la carpeta de JMeter 5.4 esta un conector para Java 8 y se ejecutan los escenarios en CI, alguno de estos va a presentar error 401, los esta tomando en orden,por eso al desactivar el primero, despues falla el segundo y asi sucesivamente.
NOTA: No podemos contemplar por el momento la idea de actualziar la version de JMeter 5.4 que se usa en CI.Por ende se ha tratado de usar version de librerias oc onectores compatibles con esta version , pero es la primera vez que tenemos este tipo de errores.
Steps to reproduce the problem
- Descargar la version JMeter 5.4
- Descargar el conector SQL Server JDBC para Java 8 (Cualquier version, hemos probado con la 12.10.0 , la 12.8 ,la 12.6.2,vrsiones 9,8 y 7)..
- Agregar el conector (archivo jar) en la carpeta "bin" del JMeter 5.4..
- Subir la carpeta de JMeter comprimida la storage de inetgracion continua y proceder a aprovisionar y lanzar los test.
- Verificar que en la ejecucion falal un solo tets y que al revisar el log a parecen varia spetciones con codigo de error 401-Unauthorized.
- Ejeuctar localmente en JMeter o Visual Studio ele scenario que falla en Integracion continua, se observa que pasa, no se genera ningun error.
-Adicionalmnete se comprueba que los escenarios que usan BD pasan y es porque el conector les permitio conectarse y ejecutar las sentencias SQL. - Si se desactiva el escenario que falla y se lanza nuevamente con el mismo conector, esta vez falla otro escenario y por el mismo error.
- Si se cambia el conector por uno para Java 11. No falla ningun escenario, pero se observa que uno escenario en el cual se ejecutan sentencias de tipo Delete, no se genero la conexion a la BD y no se ejeuctaron las sentencias SQL. En cambio otros escenarios que usan sentencias de tipo Update o Inser To, si pasaron y no presentan ninguna novedad.
-Los conectores los estamos tomando de la siguiente URL: https://learn.microsoft.com/es-es/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver16#previous-releases
Adjunto la carpeta comprimida de JMeter.
JMeter Version
5.4
Java Version
1.8.0_211-Java 8
OS Version
Windows 11
- 主要语言
- Java
- 星标
- 9.6k
- 派生
- 2.3k
- 平均合并
- 20 小时 42 分钟
- 30 天内合并 PR
- 10
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/jmeter 的其他 Issue
-
[Bug] Typo in assertion property name: "Asserion.test_strings" missing 't'可能已有人在做 @waterWang 于 61 天前认领。 未关闭defect to-triage
难度 1/5 1 小时以内 新手友好度 82/100
维护者通常 1 天内回复
-
enhancement to-triage
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
RandomDate ignores inclusive end date and throws when start == end可能已有人在做 @weillercarvalho 于 338 天前认领。 未关闭defect to-triage
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
documentation to-triage
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
invalid wontfix
难度 2/5 1-3 小时 新手友好度 65/100
维护者通常 1 天内回复
相似的 Issue
-
enhancement feature
难度 2/5 1-3 小时 新手友好度 70/100
rsp777/service-pulse-app#28 ·
-
human-required sync-failed
难度 2/5 1-3 小时 新手友好度 68/100
Azure/osdu-spi-file#63 ·
维护者通常 1 天内回复
-
area/ysql kind/enhancement priority/medium status/awaiting-triage
难度 2/5 1-3 小时 新手友好度 73/100
yugabyte/yugabyte-db#35578 ·
维护者通常 1 天内回复
-
frontend quick win
难度 2/5 1-3 小时 新手友好度 65/100
CodeForPhilly/benefit-decision-toolkit#571 ·
维护者通常 1 天内回复
-
approved
难度 2/5 1-3 小时 新手友好度 67/100
checkstyle/checkstyle#22129 ·
维护者通常 1 天内回复