mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Fix "Maximum number of GUI sessions reached"
ECATT Test Config and Data object types (`ECTC`/`ECTD`) do not support parallel serializer since they trigger user sessions by calling `cl_gui_frontend_services=>get_sapgui_workdir`. This can lead to "Maximum number of GUI sessions reached" error. This change processed these two object types in sequentially.
This commit is contained in:
parent
8e02089f8f
commit
5bf731f68d
|
@ -128,6 +128,12 @@ CLASS zcl_abapgit_serialize DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_result) TYPE abap_bool.
|
VALUE(rv_result) TYPE abap_bool.
|
||||||
|
|
||||||
|
METHODS is_no_parallel
|
||||||
|
IMPORTING
|
||||||
|
!iv_object_type TYPE tadir-object
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_result) TYPE abap_bool.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -515,6 +521,18 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD is_no_parallel.
|
||||||
|
|
||||||
|
" Currently know object types that do not support parallel processing:
|
||||||
|
" ECTC/ECTD - ECATT Test Config/Data (see #7148)
|
||||||
|
" Should this list become longer, it should become a flag of the object type serializer
|
||||||
|
IF iv_object_type = 'ECTC' OR iv_object_type = 'ECTD'.
|
||||||
|
rv_result = abap_true.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD is_parallelization_possible.
|
METHOD is_parallelization_possible.
|
||||||
|
|
||||||
rv_result = boolc( zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false
|
rv_result = boolc( zcl_abapgit_factory=>get_environment( )->is_merged( ) = abap_false
|
||||||
|
@ -684,7 +702,7 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION.
|
||||||
iv_count = lv_count )->start( ).
|
iv_count = lv_count )->start( ).
|
||||||
|
|
||||||
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
|
||||||
IF lv_max = 1.
|
IF lv_max = 1 OR is_no_parallel( <ls_tadir>-object ) = abap_true.
|
||||||
li_progress->show(
|
li_progress->show(
|
||||||
iv_current = sy-tabix
|
iv_current = sy-tabix
|
||||||
iv_text = |Serialize { <ls_tadir>-obj_name }, { lv_max } thread| ).
|
iv_text = |Serialize { <ls_tadir>-obj_name }, { lv_max } thread| ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user