3.3 기능중 L4기능 오류 문의 드립니다.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

3.3 기능중 L4기능 오류 문의 드립니다.

YoungWoo Kim
안녕하세요.

이번 3.3 기능중에 L4 Simulation by multiple DNS entries 기능을 사용하려고 하였으나, 오류가 발생하여 문의 드립니다.

동일한 웹 서버 15대에 골고루 분산을 위해서

Target Hosts 에 아래와 같이 입력을 하였습니다.
ex) xxx.xxxx.com : xx.xx.xx.xx

위와 같이 입력하였을때, 입력된 Target Hosts 가 8개까지는 성능 테스트가 진행되나

Target hosts에 입력된 List 값이 9개가 넘어가면서 부터 아래와같은 오류가 발생합니다.

에러 메시지를 보면
Value too long for column "TARGET_HOSTS VARCHAR(255)

타켓호스트 값이 255사이즈로 되어있으나, 255를 초과하면서 발생한 문제인듯 합니다.

다음 빌드가 나오기 전에 임의로 제가 변경해서 진행할 수 없을지 문의 드립니다.

답변 부탁 드리겠습니다.

감사합니다.
-----------------------------------
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Value too long for column "TARGET_HOSTS VARCHAR(255) SELECTIVITY 1": "보안:(보안상 가림),보안:보안보안:보안,보안:보안... (266)"; SQL statement:
update PERF_TEST set last_modified_date=?, last_modified_user=?, agent_count=?, agent_stat=?, description=?, distribution_path=?, duration=?, errors=?, finish_time=?, ignore_sample_count=?, last_progress_message=?, mean_test_time=?, monitor_stat=?, param=?, peak_tps=?, port=?, processes=?, progress_message=?, ramp_up_increment_interval=?, ramp_up_init_count=?, ramp_up_init_sleep_time=?, ramp_up_step=?, ramp_up_type=?, region=?, run_count=?, running_sample=?, safe_distribution=?, sampling_interval=?, scheduled_time=?, script_name=?, script_revision=?, send_mail=?, start_time=?, status=?, stop_request=?, tag_string=?, target_hosts=?, test_comment=?, test_error_cause=?, name=?, test_time_standard_deviation=?, tests=?, threads=?, threshold=?, tps=?, use_rampup=?, vuser_per_agent=? where id=? [22001-168]; SQL [n/a]; nested exception is org.hibernate.exception.DataException: Value too long for column "TARGET_HOSTS VARCHAR(255) SELECTIVITY 1": "보안:보안 (266)"; SQL statement:
update PERF_TEST set last_modified_date=?, last_modified_user=?, agent_count=?, agent_stat=?, description=?, distribution_path=?, duration=?, errors=?, finish_time=?, ignore_sample_count=?, last_progress_message=?, mean_test_time=?, monitor_stat=?, param=?, peak_tps=?, port=?, processes=?, progress_message=?, ramp_up_increment_interval=?, ramp_up_init_count=?, ramp_up_init_sleep_time=?, ramp_up_step=?, ramp_up_type=?, region=?, run_count=?, running_sample=?, safe_distribution=?, sampling_interval=?, scheduled_time=?, script_name=?, script_revision=?, send_mail=?, start_time=?, status=?, stop_request=?, tag_string=?, target_hosts=?, test_comment=?, test_error_cause=?, name=?, test_time_standard_deviation=?, tests=?, threads=?, threshold=?, tps=?, use_rampup=?, vuser_per_agent=? where id=? [22001-168]
        org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
        org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
        org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:98)
        org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:82)
        org.ngrinder.security.PluggablePreAuthFilter.doFilter(PluggablePreAuthFilter.java:96)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
        org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:98)
        org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:82)
        org.ngrinder.infra.servlet.PluggableServletFilter.doFilter(PluggableServletFilter.java:96)
        org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
        org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:88)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
        org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause

org.springframework.dao.DataIntegrityViolationException: Value too long for column "TARGET_HOSTS VARCHAR(255) SELECTIVITY 1": "보안(266)"; SQL statement:
update PERF_TEST set last_modified_date=?, last_modified_user=?, agent_count=?, agent_stat=?, description=?, distribution_path=?, duration=?, errors=?, finish_time=?, ignore_sample_count=?, last_progress_message=?, mean_test_time=?, monitor_stat=?, param=?, peak_tps=?, port=?, processes=?, progress_message=?, ramp_up_increment_interval=?, ramp_up_init_count=?, ramp_up_init_sleep_time=?, ramp_up_step=?, ramp_up_type=?, region=?, run_count=?, running_sample=?, safe_distribution=?, sampling_interval=?, scheduled_time=?, script_name=?, script_revision=?, send_mail=?, start_time=?, status=?, stop_request=?, tag_string=?, target_hosts=?, test_comment=?, test_error_cause=?, name=?, test_time_standard_deviation=?, tests=?, threads=?, threshold=?, tps=?, use_rampup=?, vuser_per_agent=? where id=? [22001-168]; SQL [n/a]; nested exception is org.hibernate.exception.DataException: Value too long for column "TARGET_HOSTS VARCHAR(255) SELECTIVITY 1": "'보안"; SQL statement:
update PERF_TEST set last_modified_date=?, last_modified_user=?, agent_count=?, agent_stat=?, description=?, distribution_path=?, duration=?, errors=?, finish_time=?, ignore_sample_count=?, last_progress_message=?, mean_test_time=?, monitor_stat=?, param=?, peak_tps=?, port=?, processes=?, progress_message=?, ramp_up_increment_interval=?, ramp_up_init_count=?, ramp_up_init_sleep_time=?, ramp_up_step=?, ramp_up_type=?, region=?, run_count=?, running_sample=?, safe_distribution=?, sampling_interval=?, scheduled_time=?, script_name=?, script_revision=?, send_mail=?, start_time=?, status=?, stop_request=?, tag_string=?, target_hosts=?, test_comment=?, test_error_cause=?, name=?, test_time_standard_deviation=?, tests=?, threads=?, threshold=?, tps=?, use_rampup=?, vuser_per_agent=? where id=? [22001-168]
        org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:646)
Reply | Threaded
Open this post in threaded view
|

Re: 3.3 기능중 L4기능 오류 문의 드립니다.

junoyoon
Administrator
감사합니다.
이는 심각한 버그로 인식되오며, 이에 대한 이슈를

https://github.com/nhnopensource/ngrinder/issues/39

에 올렸습니다.

그리고 https://github.com/nhnopensource/ngrinder/commit/3f45c5abaa8284850d67a0309554ba3b72d1fadb

에 해당 버그를 픽스를 한 패치를 보실 수 있습니다.

이를 적용하시려면..

.ngrinder/webapps 폴더를 확인하시어.

db.changelog.xml 라는 파일에

<include file="ngrinder_datachange_logfile/db.changelog_schema_27.xml" />

를 추가해 주시고
같은 폴더내에 db.changelog_schema_27.xml 라는 파일을 만들고

<?xml version="1.0" encoding="UTF-8"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
  <changeSet author="ngrinder.3.3.1" id="27" dbms="cubrid, h2">
  <modifyDataType tableName="PERF_TEST" columnName="target_hosts" newDataType="varchar(1024)"/>
  </changeSet>
 </databaseChangeLog>

를 기록해 주신 다음에 재시작해 주시면 됩니다.
이 Fix 는 3.3.1 버전에 반영됩니다.